mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-11 14:13:51 -04:00
ASoC: SOF: ipc4-pcm: Move out be_rate initialization from for loop in fixup
Instead of initializing the be_rate within the loop by checking i == 0 at each iteration, move the be_rate reference initialization from the loop. For BE single rate check we will have single comparison done at each iteration compared to two in case the num_input_formats were higher than 1. We still need to run the loop from index 0 to check for FE-BE rate match. The patch also fixes bogus reports from gcc static analyzer thinking that be_rate is used uninitialized later in the function (which was not true). Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Link: https://patch.msgid.link/20250206094914.21135-1-peter.ujfalusi@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
3f78762d17
commit
5ea46b4360
@@ -610,12 +610,11 @@ static int sof_ipc4_pcm_dai_link_fixup_rate(struct snd_sof_dev *sdev,
|
||||
* Copier does not change sampling rate, so we
|
||||
* need to only consider the input pin information.
|
||||
*/
|
||||
be_rate = pin_fmts[0].audio_fmt.sampling_frequency;
|
||||
for (i = 0; i < num_input_formats; i++) {
|
||||
unsigned int val = pin_fmts[i].audio_fmt.sampling_frequency;
|
||||
|
||||
if (i == 0)
|
||||
be_rate = val;
|
||||
else if (val != be_rate)
|
||||
if (val != be_rate)
|
||||
single_be_rate = false;
|
||||
|
||||
if (val == fe_rate) {
|
||||
|
||||
Reference in New Issue
Block a user