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.

possible bug in descriptors allocation - NIMU Eth driver

Hi,

 

The NIMU ethernet driver provided in the PDK of C6670 is compiled with the following defines (defined in resource_mgr.h):

    #define NIMU_NUM_TX_DESC                16u /**< Maximum number of TX descriptors used by NIMU */

 

    #define NIMU_NUM_RX_DESC                18u /**< Maximum number of RX descriptors used by NIMU */

    #define MAX_NUM_NIMU_DESC   (NIMU_NUM_TX_DESC + NIMU_NUM_RX_DESC) /**< Maximum number of descriptors used bye NIMU */

The number of descriptors allocated during Qmss_insertMemoryRegion() is therefore not a power of 2.
As a result it is not possible to add more Memory Regions afterwards, unless it is done manually by specifying the explicit memory region index in memRegion field and setting start_index to leave a hole until the next power of 2.
An error -129 is returned when adding a memory region using memRegion=Qmss_MemRegion_MEMORY_REGION_NOT_SPECIFIED, .
I'd suggest changing the number of descriptors in the NIMU driver so that it is a power of 2.
Regards,
Ran