diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/soundwire/intel_ace2x.c | 19 | 
1 files changed, 6 insertions, 13 deletions
| diff --git a/drivers/soundwire/intel_ace2x.c b/drivers/soundwire/intel_ace2x.c index fff312c6968d..4f3dd70d6a1a 100644 --- a/drivers/soundwire/intel_ace2x.c +++ b/drivers/soundwire/intel_ace2x.c @@ -376,11 +376,12 @@ static int intel_hw_params(struct snd_pcm_substream *substream,  static int intel_prepare(struct snd_pcm_substream *substream,  			 struct snd_soc_dai *dai)  { +	struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);  	struct sdw_cdns *cdns = snd_soc_dai_get_drvdata(dai);  	struct sdw_intel *sdw = cdns_to_intel(cdns);  	struct sdw_cdns_dai_runtime *dai_runtime; +	struct snd_pcm_hw_params *hw_params;  	int ch, dir; -	int ret = 0;  	dai_runtime = cdns->dai_runtime_array[dai->id];  	if (!dai_runtime) { @@ -389,12 +390,8 @@ static int intel_prepare(struct snd_pcm_substream *substream,  		return -EIO;  	} +	hw_params = &rtd->dpcm[substream->stream].hw_params;  	if (dai_runtime->suspended) { -		struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream); -		struct snd_pcm_hw_params *hw_params; - -		hw_params = &rtd->dpcm[substream->stream].hw_params; -  		dai_runtime->suspended = false;  		/* @@ -415,15 +412,11 @@ static int intel_prepare(struct snd_pcm_substream *substream,  		/* the SHIM will be configured in the callback functions */  		sdw_cdns_config_stream(cdns, ch, dir, dai_runtime->pdi); - -		/* Inform DSP about PDI stream number */ -		ret = intel_params_stream(sdw, substream, dai, -					  hw_params, -					  sdw->instance, -					  dai_runtime->pdi->intel_alh_id);  	} -	return ret; +	/* Inform DSP about PDI stream number */ +	return intel_params_stream(sdw, substream, dai, hw_params, sdw->instance, +				   dai_runtime->pdi->intel_alh_id);  }  static int | 
