mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-27 22:24:11 +08:00
ASoC: SOF: ipc4-topology: Improve readability of sof_ipc4_prepare_dai_copier()
Remove the duplicated code paths to check for single bit depth and to update the params with storing the parameters needed by the function and have a single code section. No functional change but the code is easier to follow. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://msgid.link/r/20240530111918.21974-5-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
3b64fd2f83
commit
2fcad03eab
@ -1590,8 +1590,10 @@ sof_ipc4_prepare_dai_copier(struct snd_sof_dev *sdev, struct snd_sof_dai *dai,
|
||||
struct sof_ipc4_available_audio_format *available_fmt;
|
||||
struct snd_pcm_hw_params dai_params = *params;
|
||||
struct sof_ipc4_copier_data *copier_data;
|
||||
struct sof_ipc4_pin_format *pin_fmts;
|
||||
struct sof_ipc4_copier *ipc4_copier;
|
||||
bool single_bitdepth;
|
||||
u32 num_pin_fmts;
|
||||
int ret;
|
||||
|
||||
ipc4_copier = dai->private;
|
||||
@ -1605,31 +1607,23 @@ sof_ipc4_prepare_dai_copier(struct snd_sof_dev *sdev, struct snd_sof_dai *dai,
|
||||
* format lookup
|
||||
*/
|
||||
if (dir == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||
single_bitdepth = sof_ipc4_copier_is_single_bitdepth(sdev,
|
||||
available_fmt->output_pin_fmts,
|
||||
available_fmt->num_output_formats);
|
||||
|
||||
/* Update the dai_params with the only supported format */
|
||||
if (single_bitdepth) {
|
||||
ret = sof_ipc4_update_hw_params(sdev, &dai_params,
|
||||
&available_fmt->output_pin_fmts[0].audio_fmt,
|
||||
BIT(SNDRV_PCM_HW_PARAM_FORMAT));
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
pin_fmts = available_fmt->output_pin_fmts;
|
||||
num_pin_fmts = available_fmt->num_output_formats;
|
||||
} else {
|
||||
single_bitdepth = sof_ipc4_copier_is_single_bitdepth(sdev,
|
||||
available_fmt->input_pin_fmts,
|
||||
available_fmt->num_input_formats);
|
||||
pin_fmts = available_fmt->input_pin_fmts;
|
||||
num_pin_fmts = available_fmt->num_input_formats;
|
||||
}
|
||||
|
||||
/* Update the dai_params with the only supported format */
|
||||
if (single_bitdepth) {
|
||||
ret = sof_ipc4_update_hw_params(sdev, &dai_params,
|
||||
&available_fmt->input_pin_fmts[0].audio_fmt,
|
||||
BIT(SNDRV_PCM_HW_PARAM_FORMAT));
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
single_bitdepth = sof_ipc4_copier_is_single_bitdepth(sdev, pin_fmts,
|
||||
num_pin_fmts);
|
||||
|
||||
/* Update the dai_params with the only supported format */
|
||||
if (single_bitdepth) {
|
||||
ret = sof_ipc4_update_hw_params(sdev, &dai_params,
|
||||
&pin_fmts[0].audio_fmt,
|
||||
BIT(SNDRV_PCM_HW_PARAM_FORMAT));
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = snd_sof_get_nhlt_endpoint_data(sdev, dai, single_bitdepth,
|
||||
|
Loading…
Reference in New Issue
Block a user