Update the comment for the cl_dsp_init() to clarify what is done by the function and use the chip->init_core_mask instead of BIT(0) when unstalling/running the init core.
Unified · Split
| @@ -95,9 +95,9 @@ out_put: · 94 unmodified lines | |||
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | /* | 97 | /* |
| 98 | * first boot sequence has some extra steps. core 0 waits for power | 98 | * first boot sequence has some extra steps. |
| 99 | * status on core 1, so power up core 1 also momentarily, keep it in | 99 | * power on all host managed cores and only unstall/run the boot core to boot the |
| 100 | * reset/stall and then turn it off | 100 | * DSP then turn off all non boot cores (if any) is powered on. |
| 101 | */ | 101 | */ |
| 102 | static int cl_dsp_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot) | 102 | static int cl_dsp_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot) |
| 103 | { | 103 | { |
| @@ -127,7 +127,7 @@ static int cl_dsp_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot) · 23 unmodified lines | |||
| 127 | snd_sof_dsp_write(sdev, HDA_DSP_BAR, chip->ipc_req, ipc_hdr); | 127 | snd_sof_dsp_write(sdev, HDA_DSP_BAR, chip->ipc_req, ipc_hdr); |
| 128 | 128 | ||
| 129 | /* step 3: unset core 0 reset state & unstall/run core 0 */ | 129 | /* step 3: unset core 0 reset state & unstall/run core 0 */ |
| 130 | ret = hda_dsp_core_run(sdev, BIT(0)); | 130 | ret = hda_dsp_core_run(sdev, chip->init_core_mask); |
| 131 | if (ret < 0) { | 131 | if (ret < 0) { |
| 132 | if (hda->boot_iteration == HDA_FW_BOOT_ATTEMPTS) | 132 | if (hda->boot_iteration == HDA_FW_BOOT_ATTEMPTS) |
| 133 | dev_err(sdev->dev, | 133 | dev_err(sdev->dev, |