Hi,
I've already read KeyStone Architecture User Guide( SPRUGR9F) document, but i have some questions.
1."TX Filter Software Info: This field controls whether or not the DMA controller will pass the extended packet information fields (if present) from the descriptor to the back end application."
What does the "the back end application" mean? Could anyone give me some details about it ?
2 6.2.5 Channel Teardown
What does the "Chnnel Teardown" mean ? Could anyone give me an example to explain it ?
3.Could anyone give me more detail information about the firmware in QMSS? Whether the Descriptor Accumulation Firmware supports pingpong descriptor list or not?
If yes, what configuration process I should doto enable pingpong list? How does the firmware work with pingpong list?
I have read the code of qmInfraExampleProject, and i also have some questions.
4.The following codes are extracted from qmInfraExampleProject:
/* Set up Tx Channel parameters */
txChCfg.channelNum = CPPI_PARAM_NOT_SPECIFIED;
txChCfg.priority = 0;
txChCfg.filterEPIB = 0;
txChCfg.filterPS = 0;
txChCfg.aifMonoMode = 0;
txChCfg.txEnable = Cppi_ChState_CHANNEL_DISABLE;
/* Open Tx Channel */
txChHnd = (Cppi_ChHnd) Cppi_txChannelOpen (cppiHnd, &txChCfg, &isAllocated);
if (txChHnd == NULL)
{
System_printf ("Error Core %d : Opening Tx channel : %d\n", coreNum, txChCfg.channelNum);
return;
}
else
System_printf ("Core %d : Opened Tx channel : %d\n", coreNum, Cppi_getChannelNumber (txChHnd));
/* Opens transmit queue. This is the infrastructure queue */
if ((txQueHnd = Qmss_queueOpen (Qmss_QueueType_INFRASTRUCTURE_QUEUE, QMSS_PARAM_NOT_SPECIFIED, &isAllocated)) < 0)
{
System_printf ("Error Core %d : Opening Transmit Queue Number\n", coreNum);
return;
}
else
System_printf ("Core %d : Transmit Queue Number : %d opened\n", coreNum, txQueHnd);
How does the LLD can make sure that the transmit queue maps to the Tx channel txChHnd? The same question exists on receive queue and receive channel.
Regards,
weifeng