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: Found likely bug in processor-sdk/pdk

Part Number: TDA4VM

Tool/software:

For the .base section in this Ipc_ResourceTable in ti/drv/lpm/src/lpm_ipc_rsctable.h, it seems that .num is being set to the version number, and .ver is being set to the number of entries. I tried using this resource table in my own program and it crashed. I had to correct this problem as shown below. I was using ti-processor-sdk-rtos-j721e-evm-10_00_00_05/pdk_jacinto_10_00_00_27.

const Ipc_ResourceTable ti_ipc_remoteproc_ResourceTable __attribute__ ((section (".resource_table"), aligned (4096))) = 
{
    // I FOUND A BUG!
    
    // SHOULD BE
    // .base =
    // {
    //     .num = NUM_ENTRIES,      /* number of entries in the table */
    //     .ver = 1U,               /* we're the first version that implements this */ 
    //     .reserved = {0U, 0U},    /* reserved, must be zero */
    // },
    
    // CURRENTLY WE HAVE THIS
    .base =
    {
        .num = 1U,                  /* we're the first version that implements this */
        .ver = NUM_ENTRIES,         /* number of entries in the table */
        .reserved = {0U, 0U},       /* reserved, must be zero */
    },

    /* offsets to entries */
    .offset =
    {
        offsetof(Ipc_ResourceTable, rpmsg_vdev),
        offsetof(Ipc_ResourceTable, trace),
    },

    /* rpmsg vdev entry */
    .rpmsg_vdev =
    {
        TYPE_VDEV, VIRTIO_ID_RPMSG, 0U,
        RPMSG_R5F_C0_FEATURES, 0U, 0U, 0U, 2U, { 0U, 0U },
        /* no config data */
    },
    /* the two vrings */
    .rpmsg_vring0 =
    { RPMSG_VRING_ADDR_ANY, 4096U, R5F_RPMSG_VQ0_SIZE, 1U, 0U },
    .rpmsg_vring1 =
    { RPMSG_VRING_ADDR_ANY, 4096U, R5F_RPMSG_VQ1_SIZE, 2U, 0U },
    .trace =
    {
        (TRACE_INTS_VER0 | TYPE_TRACE), TRACEBUFADDR, IPC_TRACE_BUFFER_MAX_SIZE, 0, "trace:r5f0",
    },
};

The problem in seen here on lines 81 and 82
https://git.ti.com/cgit/processor-sdk/pdk/tree/packages/ti/drv/lpm/src/lpm_ipc_rsctable.h



Also is this the correct way to report a bug? How should I report problems I find to TI?