zephyr: wrapper: Conditionally call platform_boot_complete()

Due to the fact that on i.MX93 the host will initialize the
SOF_IPC_FW_READY sequence there's no need to call
platform_boot_complete() at the end of start_complete(). This
will be handled in the IPC3 handler.

This commit makes sure that aforementioned scenario won't
happen for i.MX93 while keeping the flow constant for the
other platforms.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
This commit is contained in:
Laurentiu Mihalcea 2023-04-28 13:40:51 +03:00 committed by Daniel Baluta
parent 91dbc05ff3
commit bcbb85a29e
1 changed files with 15 additions and 3 deletions

View File

@ -197,6 +197,20 @@ int task_main_start(struct sof *sof)
return 0;
}
static int boot_complete(void)
{
#ifdef CONFIG_IMX93_A55
/* in the case of i.MX93, SOF_IPC_FW_READY
* sequence will be initiated by the host
* so we shouldn't do anything here.
*/
return 0;
#else
/* let host know DSP boot is complete */
return platform_boot_complete(0);
#endif /* CONFIG_IMX93_A55 */
}
int start_complete(void)
{
#if defined(CONFIG_IMX)
@ -214,9 +228,7 @@ int start_complete(void)
pm_policy_state_lock_get(PM_STATE_RUNTIME_IDLE, PM_ALL_SUBSTATES);
pm_policy_state_lock_get(PM_STATE_SOFT_OFF, PM_ALL_SUBSTATES);
#endif
/* let host know DSP boot is complete */
return platform_boot_complete(0);
return boot_complete();
}
/*