aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/intel
diff options
context:
space:
mode:
authorSenthilnathan Veppur <senthilnathanx.veppur@intel.com>2016-07-13 23:35:25 -0400
committerMark Brown <broonie@kernel.org>2016-07-14 11:32:51 -0400
commitc78722676e92dd434de35c7569d6c3f25879621b (patch)
tree523b43b034c0b7874cf669161106fc098b1a84f1 /sound/soc/intel
parent894a16db293c5383f1d9c819909a27bd6738efde (diff)
ASoC: Intel: Skylake: Fix fw reload failure
FW reload had two issues: - We need to disable the core 0 on when fw fails - Before loading firmware mark boot flag as false This patch fixes these two Signed-off-by: Senthilnathan Veppur <senthilnathanx.veppur@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel')
-rw-r--r--sound/soc/intel/skylake/bxt-sst.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/soc/intel/skylake/bxt-sst.c b/sound/soc/intel/skylake/bxt-sst.c
index 9c3750f49c21..16e2ed97d71a 100644
--- a/sound/soc/intel/skylake/bxt-sst.c
+++ b/sound/soc/intel/skylake/bxt-sst.c
@@ -139,7 +139,7 @@ static int sst_bxt_prepare_fw(struct sst_dsp *ctx,
139base_fw_load_failed: 139base_fw_load_failed:
140 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, stream_tag); 140 ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, stream_tag);
141 skl_dsp_core_power_down(ctx, SKL_DSP_CORE_MASK(1)); 141 skl_dsp_core_power_down(ctx, SKL_DSP_CORE_MASK(1));
142 skl_dsp_disable_core(ctx, SKL_DSP_CORE_MASK(1)); 142 skl_dsp_disable_core(ctx, SKL_DSP_CORE0_MASK);
143 return ret; 143 return ret;
144} 144}
145 145
@@ -232,6 +232,7 @@ static int bxt_set_dsp_D0(struct sst_dsp *ctx, unsigned int core_id)
232 unsigned int core_mask = SKL_DSP_CORE_MASK(core_id); 232 unsigned int core_mask = SKL_DSP_CORE_MASK(core_id);
233 233
234 if (skl->fw_loaded == false) { 234 if (skl->fw_loaded == false) {
235 skl->boot_complete = false;
235 ret = bxt_load_base_firmware(ctx); 236 ret = bxt_load_base_firmware(ctx);
236 if (ret < 0) 237 if (ret < 0)
237 dev_err(ctx->dev, "reload fw failed: %d\n", ret); 238 dev_err(ctx->dev, "reload fw failed: %d\n", ret);