AnsweredAssumed Answered

RPMSG-LITE Hangs in RL_ASSERT

Question asked by George fff on Jan 4, 2019
Latest reply on Jan 16, 2019 by igorpadykov

Hi everyone,
 In rpmsg_lite_release_rx_buffer() function there is a RL_ASSERT macro to expect a buffer pointer value inside a range, but...From the master side in Linux, these buffers are allocated using dma_alloc_coherent so a virtual address is expected which does not match what the RL_ASSERT macro expects, therefore my program hangs there.
I'm using a iMX7D with these configuration for the rpmsg:
DT:
&rpmsg{
vdev-nums = <1>;
reg = <0xbfff0000 0x80000>;
status = "okay";
};
RPMSG-LITE
#define BOARD_SHARED_MEMORY_BASE (void *)0xBFFF0000
#define RL_BUFFER_COUNT (256)
#define RL_BUFFER_PAYLOAD_SIZE (496)

With these parameters, when i receive something from the master side, the rx buffer addr is at 0xAA... and RL_ASSERT triggers.
Any ideas? Thanks in advance

Outcomes