[alsa-devel] [PATCH] ASoC: Intel: Skylake: Disable clock gating during firmware and library download

Vinod Koul vinod.koul at intel.com
Tue Jan 2 11:44:37 CET 2018


On Tue, Jan 02, 2018 at 02:59:57PM +0530, Guneshwor Singh wrote:
> From: Pardha Saradhi K <pardha.saradhi.kesapragada at intel.com>
> 
> During firmware and library download, sometimes it is observed that
> firmware and library download is timed-out resulting into probe failure.
> 
> This patch disables dynamic clock gating while firmware and library
> download.
> 
> Signed-off-by: Pardha Saradhi K <pardha.saradhi.kesapragada at intel.com>
> Signed-off-by: Sanyog Kale <sanyog.r.kale at intel.com>
> Signed-off-by: Guneshwor Singh <guneshwor.o.singh at intel.com>

Acked-By: Vinod Koul <vinod.koul at intel.com>

> ---
>  sound/soc/intel/skylake/skl-messages.c | 4 ++++
>  sound/soc/intel/skylake/skl-pcm.c      | 4 ++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/sound/soc/intel/skylake/skl-messages.c b/sound/soc/intel/skylake/skl-messages.c
> index 81ee1118ed71..8cbf080c38b3 100644
> --- a/sound/soc/intel/skylake/skl-messages.c
> +++ b/sound/soc/intel/skylake/skl-messages.c
> @@ -417,7 +417,11 @@ int skl_resume_dsp(struct skl *skl)
>  	if (skl->skl_sst->is_first_boot == true)
>  		return 0;
>  
> +	/* disable dynamic clock gating during fw and lib download */
> +	ctx->enable_miscbdcge(ctx->dev, false);
> +
>  	ret = skl_dsp_wake(ctx->dsp);
> +	ctx->enable_miscbdcge(ctx->dev, true);
>  	if (ret < 0)
>  		return ret;
>  
> diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c
> index 8d0895b409b5..e46828533826 100644
> --- a/sound/soc/intel/skylake/skl-pcm.c
> +++ b/sound/soc/intel/skylake/skl-pcm.c
> @@ -1343,7 +1343,11 @@ static int skl_platform_soc_probe(struct snd_soc_platform *platform)
>  			return -EIO;
>  		}
>  
> +		/* disable dynamic clock gating during fw and lib download */
> +		skl->skl_sst->enable_miscbdcge(platform->dev, false);
> +
>  		ret = ops->init_fw(platform->dev, skl->skl_sst);
> +		skl->skl_sst->enable_miscbdcge(platform->dev, true);
>  		if (ret < 0) {
>  			dev_err(platform->dev, "Failed to boot first fw: %d\n", ret);
>  			return ret;
> -- 
> 2.15.1
> 

-- 
~Vinod


More information about the Alsa-devel mailing list