Hi
I am using PDK_Keystone2_1_00_00_11. I have assigned 4096 descriptors to a memory region and called Qmss_insertMemoryRegion() for that region. I then initialise the descriptors push the descriptors to a global free queue by calling Cppi_initDescriptor().
However, when I try to pop a descriptor from the free queue I find that the buffer descriptor is incorrect; it is outside the memory region that I specified.
I tried stepping into Cppi_initDescriptor() to understand what was happening. The code there includes these lines:
/* Find the source queue given the memory region */
if ((srcQueNum = Qmss_getMemRegQueueHandle(descCfg->memRegion)) < 0)
{
return CPPI_QMSS_MEMREGION_NOT_INITIALIZED;
}
I find that this source queue only contains 1 descriptor, not 4096.
Please explain where this 'source queue' is associated with a memory region.
Please also suggest why that queue has only 1, not 4096, descriptors on it.
BR
David
if ((queue = Cppi_initDescriptor