[alsa-devel] [PATCH 01/15] ASoC: SOF: Intel: hda: save handle to sdev in sof_intel_hda_stream

Amadeusz Sławiński amadeuszx.slawinski at linux.intel.com
Thu Jun 13 10:00:50 CEST 2019


On Wed, 12 Jun 2019 12:23:33 -0500
Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com> wrote:

> From: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
> 
> Add a snd_sof_dev member to sof_intel_hda_stream. This will be
> used to access the snd_sof_dev during link hw_params callback.
> 
> Signed-off-by: Ranjani Sridharan <ranjani.sridharan at linux.intel.com>
> Signed-off-by: Pierre-Louis Bossart
> <pierre-louis.bossart at linux.intel.com> ---
>  sound/soc/sof/intel/hda-stream.c | 4 ++++
>  sound/soc/sof/intel/hda.h        | 1 +
>  2 files changed, 5 insertions(+)
> 
> diff --git a/sound/soc/sof/intel/hda-stream.c
> b/sound/soc/sof/intel/hda-stream.c index c92006f89499..1cd94e7631a8
> 100644 --- a/sound/soc/sof/intel/hda-stream.c
> +++ b/sound/soc/sof/intel/hda-stream.c
> @@ -564,6 +564,8 @@ int hda_dsp_stream_init(struct snd_sof_dev *sdev)
>  		if (!hda_stream)
>  			return -ENOMEM;
>  
> +		hda_stream->sdev = sdev;
> +
>  		stream = &hda_stream->hda_stream;
>  
>  		stream->pphc_addr = sdev->bar[HDA_DSP_PP_BAR] +
> @@ -617,6 +619,8 @@ int hda_dsp_stream_init(struct snd_sof_dev *sdev)
>  		if (!hda_stream)
>  			return -ENOMEM;
>  
> +		hda_stream->sdev = sdev;
> +
>  		stream = &hda_stream->hda_stream;
>  

Just one thing, you have two rather big for loops here, one for capture
and other for playback, they are almost identical apart for ~2 lines.
Maybe share this code and only put the differences into ifs?

>  		/* we always have DSP support */
> diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h
> index 6c7dee2627d0..502b0a3c2e3c 100644
> --- a/sound/soc/sof/intel/hda.h
> +++ b/sound/soc/sof/intel/hda.h
> @@ -409,6 +409,7 @@ static inline struct hda_bus *sof_to_hbus(struct
> snd_sof_dev *s) }
>  
>  struct sof_intel_hda_stream {
> +	struct snd_sof_dev *sdev;
>  	struct hdac_ext_stream hda_stream;
>  	struct sof_intel_stream stream;
>  	int hw_params_upon_resume; /* set up hw_params upon resume */



More information about the Alsa-devel mailing list