We are trying to use IPC on a K2H device to communicate between arm and dsp cores and also between dsp's. The only example we found helped a lot to configure the virtio module and arm-dsp messaging works just fine. But when we attempt to connect from one dsp to another's MessageQ it blocks indefinitely.
In the documentation it is also mentioned that it is possible to send messages without connecting so we checked this too, but then MessageQ_put gives us the following: [C66xx_0] 3 Resource entries at 0x800000 registering rpmsg-proto service on 61 with HOST [t=0x00000007:e61daff3] ti.ipc.rpmsg.RPMessage: RPMessage_send: no object for endpoint: 53 [t=0x00000007:e659379e] ti.ipc.rpmsg.RPMessage: RPMessage_send: no object for endpoint: 53 [t=0x00000008:2356a1ee] ti.sdo.ipc.MessageQ: ERROR: line 459: assertion failure: A_unregisteredTransport: transport is not registered ti.sdo.ipc.MessageQ: line 459: assertion failure: A_unregisteredTransport: transport is not registered xdc.runtime.Error.raise: terminating execution The MessageQ_QueueId is the same as the arm uses succesfully. So, is it even possible to send msgs or events from dsp to dsp when virtio transport is configured? What is this virtio module anyway? Must be something new since it's not easy to find any documentations on it. Smells like some more .cfg magic is needed on the dsp side... When we use shared memory transport setup for IPC on dsp, it certainly works. (dsp core -> dsp core in the same chip) Documentations also mention that it is in fact possible to setup two IPC transport at the same time but I couldn't find any example yet.
Any help would be much appreciated!