Message ID | 20180102092957.14091-1-guneshwor.o.singh@intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | d5cc0a1fcbb5ddbef9fdd4c4a978da3254ddbf37 |
Headers | show |
On Tue, Jan 02, 2018 at 02:59:57PM +0530, Guneshwor Singh wrote: > From: Pardha Saradhi K <pardha.saradhi.kesapragada@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@intel.com> > Signed-off-by: Sanyog Kale <sanyog.r.kale@intel.com> > Signed-off-by: Guneshwor Singh <guneshwor.o.singh@intel.com> Acked-By: Vinod Koul <vinod.koul@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 >
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;