This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: RPMessage_recv() IPC call timeout value query

Part Number: TDA4VM

Tool/software:

I have a query on RPMessage_recv() IPC call used for IPC communication between A72 and R5F cores in TDA4VM SOC. This API expects a timeout value in micro seconds.​

int32_t RPMessage_recv ( RPMessage_Handle  handle,
void *  data,
uint16_t *  len,
uint32_t *  rplyEndPt,
uint32_t *  fromProcId,
uint32_t  timeout 
)

This doesn't seem to work if I specify timeout value of 50000 or 100000 . I get the below error.
957 tiipc_mgr.4105 slog 133 Virtio_kick: Ipc_mailboxSend failed

The API works with timeout values of 1000, 10000, 1000000.

Is there any restriction on the timeout value to be passed to RPMessage_recv() IPC call and if so, can you share documentation related to this ?

  • Hello Joseph,

    We understand that you are running QNX OS on A72. Can you tell us what PSDK QNX release version you are using?

    Yes, the timeout value for the RPMessage_recv is in microseconds.

    This doesn't seem to work if I specify timeout value of 50000 or 100000 . I get the below error.
    957 tiipc_mgr.4105 slog 133 Virtio_kick: Ipc_mailboxSend failed

    Can you share the complete log when you see this happen? Also, let us know other parameters passed to this function when you see the error.

    Is there any restriction on the timeout value to be passed to RPMessage_recv() IPC call and if so, can you share documentation related to this ?

    As far as we understand, the timeout value that can be used is not restricted. You can look into the IPC implementation of this API in the PSDK QNX release.

    Look at <SDK_INSTALL>/psdkqa/pdk/packages/ti/drv.ipc/src/ipc_api.c ( line 1480).
    The timeout handling is taken care of by Ipc_qnxSemWait() found at <SDK_INSTALL>/psdkqa/pdk/packages/ti/drv.ipc/src/ipc_osal_qnx.c ( line 199)

    So, once you share the logs, we will review them with our dev team.

    Thanks.

  • 1.
    Praveen Rao said:
    We understand that you are running QNX OS on A72. Can you tell us what PSDK QNX release version you are using?

    SDK version
    PSDK QNX version is 09_00_00_03 (ti-processor-sdk-qnx_j721e_09_00_00_03.tar.gz)
    RTOS SDK version is 09_00_01_01 (ti-processor-sdk-rtos-j721e-evm-09_00_01_01.tar.gz)

    XRCE (eProsima/Micro-XRCE-DDS-Agent) is run which in turn uses TI IPC.


    2.
    Praveen Rao said:
    This doesn't seem to work if I specify timeout value of 50000 or 100000 . I get the below error.
    957 tiipc_mgr.4105 slog 133 Virtio_kick: Ipc_mailboxSend failed

    Can you share the complete log when you see this happen? Also, let us know other parameters passed to this function when you see the error.

    I have shared the slog2info -vvv captured from QNX.  
    i) timeout value of 10000 - slog2infovvv10ms.log - No Ipc_mailboxSend failed error seen but IPC timeout is seen and there is high data loss in IPC communication with cores.
    ii) timeout value of 100000 - slog2infovvv100ms.log - Lot of  Ipc_mailboxSend failed error seen. IPC communication with cores is not working at all.
    ii0) timeout value of 100000 - slog2infovvv1000ms.log - IPC communication with cores is working. No errors seen.

    Let me know the steps to capture specific TI IPC logs.

    Jan 03 17:23:36.972                 tiipc_mgr.4105                 slog    133  [IPC]
    Jan 03 17:23:36.972                 tiipc_mgr.4105                 slog    133  Virtio_kick: Ipc_mailboxSend failed

    Jan 03 17:23:36.973                 tiipc_mgr.4105                 slog    133  [IPC]
    Jan 03 17:23:36.973                 tiipc_mgr.4105                 slog    133  Virtio_kick: Ipc_mailboxSend failed

    Jan 03 17:23:36.973                 tiipc_mgr.4105                 slog    133  [IPC]
    Jan 03 17:23:36.973                 tiipc_mgr.4105                 slog    133  Virtio_kick: Ipc_mailboxSend failed


    Jan 03 17:23:36.977                 tiipc_mgr.4105                 slog    133  [IPC] slog2infovvv10ms.logslog2infovvv100ms.logslog2infovvv10000ms.log

  • Thanks for getting back to us on this.  Have you tried this on the latest 10.0 SDK release?

    Also, thanks for the log. We will share with dev team for their feedback. Also, FYI, we have a filed an internal JIRA to investigate this issue if this is reproducible.

    Thanks.

  • Unlocking the thread.