Re: [PATCH] ASoC: SOF: Intel: hda: Initialize HDA controller after i915 init

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

 



On Wed, 07 Aug 2019 00:19:58 +0200,
Ranjani Sridharan wrote:
> 
> On some platforms, sound card registration fails when a HDMI
> monitor is not connected. This is caused by a recent commit
> that switched the order in which the HDA controller and the
> i915 are initialized. Initializing the i915 before initializing
> the HDA controller fixes the problem.
> 
> Fixes: be1b577d01787c ("ASoC: SOF: Intel: hda: fix the hda init chip"

The closing parenthesis missing.

The code change itself looks OK to me.
Reviewed-by: Takashi Iwai <tiwai@xxxxxxx>


thanks,

Takashi

> Signed-off-by: Ranjani Sridharan <ranjani.sridharan@xxxxxxxxxxxxxxx>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> ---
>  sound/soc/sof/intel/hda.c | 20 +++++++++++++-------
>  1 file changed, 13 insertions(+), 7 deletions(-)
> 
> diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
> index 79cce20666b6..724a494702fa 100644
> --- a/sound/soc/sof/intel/hda.c
> +++ b/sound/soc/sof/intel/hda.c
> @@ -335,10 +335,23 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
>  	if (bus->ppcap)
>  		dev_dbg(sdev->dev, "PP capability, will probe DSP later.\n");
>  
> +#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
> +	/* init i915 and HDMI codecs */
> +	ret = hda_codec_i915_init(sdev);
> +	if (ret < 0) {
> +		dev_err(sdev->dev, "error: init i915 and HDMI codec failed\n");
> +		return ret;
> +	}
> +#endif
> +
> +	/* Init HDA controller after i915 init */
>  	ret = hda_dsp_ctrl_init_chip(sdev, true);
>  	if (ret < 0) {
>  		dev_err(bus->dev, "error: init chip failed with ret: %d\n",
>  			ret);
> +#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
> +		hda_codec_i915_exit(sdev);
> +#endif
>  		return ret;
>  	}
>  
> @@ -346,13 +359,6 @@ static int hda_init_caps(struct snd_sof_dev *sdev)
>  	if (bus->mlcap)
>  		snd_hdac_ext_bus_get_ml_capabilities(bus);
>  
> -	/* init i915 and HDMI codecs */
> -	ret = hda_codec_i915_init(sdev);
> -	if (ret < 0) {
> -		dev_err(sdev->dev, "error: no HDMI audio devices found\n");
> -		return ret;
> -	}
> -
>  	/* codec detection */
>  	if (!bus->codec_mask) {
>  		dev_info(bus->dev, "no hda codecs found!\n");
> -- 
> 2.17.1
> 
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[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