/* make sure core_mask in host managed cores */
core_mask &= chip->host_managed_cores_mask; if (!core_mask) {
dev_err(sdev->dev, "error: core_mask is not in host managed cores\n"); return -EINVAL;
}
/* * post fw run operation for ICL. * Core 3 will be powered up and in stall when HPRO is enabled
*/ staticint icl_dsp_post_fw_run(struct snd_sof_dev *sdev)
{ struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; int ret;
if (sdev->first_boot) { struct sof_intel_hda_dev *hdev = sdev->pdata->hw_pdata;
ret = hda_sdw_startup(sdev); if (ret < 0) {
dev_err(sdev->dev, "error: could not startup SoundWire links\n"); return ret;
}
/* Check if IMR boot is usable */ if (!sof_debug_check_flag(SOF_DBG_IGNORE_D3_PERSISTENT) &&
sdev->fw_ready.flags & SOF_IPC_INFO_D3_PERSISTENT)
hdev->imrboot_supported = true;
}
hda_sdw_int_enable(sdev, true);
/* * The recommended HW programming sequence for ICL is to * power up core 3 and keep it in stall if HPRO is enabled.
*/ if (!hda->clk_config_lpro) {
ret = hda_dsp_enable_core(sdev, BIT(ICL_DSP_HPRO_CORE_ID)); if (ret < 0) {
dev_err(sdev->dev, "error: dsp core power up failed on core %d\n",
ICL_DSP_HPRO_CORE_ID); return ret;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.