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>
This commit is contained in:
parent
894a16db29
commit
c78722676e
|
@ -139,7 +139,7 @@ static int sst_bxt_prepare_fw(struct sst_dsp *ctx,
|
||||||
base_fw_load_failed:
|
base_fw_load_failed:
|
||||||
ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, stream_tag);
|
ctx->dsp_ops.cleanup(ctx->dev, &ctx->dmab, stream_tag);
|
||||||
skl_dsp_core_power_down(ctx, SKL_DSP_CORE_MASK(1));
|
skl_dsp_core_power_down(ctx, SKL_DSP_CORE_MASK(1));
|
||||||
skl_dsp_disable_core(ctx, SKL_DSP_CORE_MASK(1));
|
skl_dsp_disable_core(ctx, SKL_DSP_CORE0_MASK);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -232,6 +232,7 @@ static int bxt_set_dsp_D0(struct sst_dsp *ctx, unsigned int core_id)
|
||||||
unsigned int core_mask = SKL_DSP_CORE_MASK(core_id);
|
unsigned int core_mask = SKL_DSP_CORE_MASK(core_id);
|
||||||
|
|
||||||
if (skl->fw_loaded == false) {
|
if (skl->fw_loaded == false) {
|
||||||
|
skl->boot_complete = false;
|
||||||
ret = bxt_load_base_firmware(ctx);
|
ret = bxt_load_base_firmware(ctx);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
dev_err(ctx->dev, "reload fw failed: %d\n", ret);
|
dev_err(ctx->dev, "reload fw failed: %d\n", ret);
|
||||||
|
|
Loading…
Reference in New Issue