Skip to content

Commit 3b26f39

Browse files
committed
ASoC:SOF:skl enable the ioc
enabled the ioc, and fix BAR bug, the firmware status now can get Signed-off-by: Zhu Yingjiang <yingjiang.zhu@linux.intel.com>
1 parent bc51a6f commit 3b26f39

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

sound/soc/sof/intel/hda-dsp.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,19 @@ bool hda_dsp_core_is_enabled(struct snd_sof_dev *sdev,
209209
return is_enable;
210210
}
211211

212+
int hda_dsp_core_stall_reset_skl(struct snd_sof_dev *sdev,
213+
unsigned int core_mask)
214+
{
215+
/* stall core */
216+
snd_sof_dsp_update_bits_unlocked(sdev, HDA_DSP_BAR,
217+
HDA_DSP_REG_ADSPCS,
218+
HDA_DSP_ADSPCS_CSTALL_MASK(core_mask),
219+
HDA_DSP_ADSPCS_CSTALL_MASK(core_mask));
220+
221+
/* set reset state */
222+
return hda_dsp_core_reset_enter(sdev, core_mask);
223+
}
224+
212225
int hda_dsp_enable_core(struct snd_sof_dev *sdev, unsigned int core_mask)
213226
{
214227
int ret;

sound/soc/sof/intel/hda-loader.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -468,9 +468,9 @@ int hda_dsp_cl_boot_firmware_skl(struct snd_sof_dev *sdev)
468468
irq_err:
469469
hda_dsp_dump(sdev, SOF_DBG_REGS | SOF_DBG_PCI | SOF_DBG_MBOX);
470470

471-
/* disable DSP */
472-
snd_sof_dsp_update_bits(sdev, HDA_DSP_PP_BAR, SOF_HDA_REG_PP_PPCTL,
473-
SOF_HDA_PPCTL_GPROCEN, 0);
471+
/* power down DSP */
472+
hda_dsp_core_reset_power_down(sdev, HDA_DSP_CORE_MASK(0));
473+
474474
dev_err(sdev->dev, "error: load fw failed err: %d\n", ret);
475475
return ret;
476476
}

sound/soc/sof/intel/hda.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,8 @@ int hda_dsp_core_reset_enter(struct snd_sof_dev *sdev,
384384
int hda_dsp_core_reset_leave(struct snd_sof_dev *sdev,
385385
unsigned int core_mask);
386386
int hda_dsp_core_stall_reset(struct snd_sof_dev *sdev, unsigned int core_mask);
387+
int hda_dsp_core_stall_reset_skl(struct snd_sof_dev *sdev,
388+
unsigned int core_mask);
387389
int hda_dsp_core_run(struct snd_sof_dev *sdev, unsigned int core_mask);
388390
int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask);
389391
int hda_dsp_enable_core(struct snd_sof_dev *sdev, unsigned int core_mask);

0 commit comments

Comments
 (0)