-
Notifications
You must be signed in to change notification settings - Fork 339
ipc: rework Zephyr IPC interfaces #10089
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm, on MTL/ace15 test results look good, but on LNL/PTL, DSP panics on first IPC sent.
Not sure immediately what can explain this, the code should be the same for all these platforms (aside some missing thing in DT definitions). The app/prj.conf is shared for all.
@@ -34,8 +34,7 @@ static void watchdog_primary_core_action_on_timeout(void) | |||
|
|||
/* Send Watchdog Timeout IPC notification */ | |||
ipc4_notification_watchdog_init(¬if, cpu_get_id(), true); | |||
intel_adsp_ipc_send_message_emergency(INTEL_ADSP_IPC_HOST_DEV, | |||
notif.primary.dat, notif.extension.dat); | |||
(void)ipc_send_message_emergency(notif.primary.dat, notif.extension.dat); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice - we do have low and high priority messages !
@kv2019i do you know if baseFW is the destination for this large module set ? On teh positive side the exception handler is managing to send the exception IPC in part.. |
This comment was marked as outdated.
This comment was marked as outdated.
the respective Zephyr PR zephyrproject-rtos/zephyr#91606 |
Adding @ranj063 as we may have more users. |
I tested it a bit more. It seems like the exception comes when requesting D0->D3 transition more than one time. The test showed that the first D0->D3->D0 worked fine and FW was ready again. However, the second D0->D3 request generated the exception IPC. |
DO NOT MERGE! DO NOT MERGE! Using Zephyr commit on sof/main + IPC patches. Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The issue with D0->D3->D0 is fixed so suspend/resume should be working on LNL and PTL. |
This reworks Zephyr IPC interface to utilize the newly introduced IPC message service, which provides a more generic IPC interface. Signed-off-by: Daniel Leung <daniel.leung@intel.com>
likely unrelated to this PR: a pause-resume failure on PTL similar to the one observed in other PRs. https://sof-ci.01.org/sofpr/PR10089/build14052/devicetest/index.html?model=PTLH_RVP_NOCODEC&testcase=multiple-pause-resume-50 . I'll retrigger tests to see if we can reproduce it |
SOFCI TEST |
This reworks Zephyr IPC interface to utilize the newly introduced IPC message service, which provides a more generic IPC interface.