Hi,
Here is the current approach for ETH interrupt handling:
1. Declare ISR function corresponding with ETH interrupt sources for RX Frame Done. These ISR functions are named as these interrupt features. For instance:
ETH_ISR_RX as ENET0 MAC0 receive done - ISR source 211
ETH_ISR_RX1 as ENET0 reveive frame_1 done - ISR source 215
ETH_ISR_RX2 as ENET0 reveive frame_2 done - ISR source 217
2. Define Eth_Rx_interrupt_handler as below:
FUNC(void, ETHIF_CODE) Eth_RX_interrupt_handler(uint8 queueIdx)
{
Eth_RxIrqHdlr_0(queueIdx);
}
3. Implement each ISR as below:
INTERRUPT_FUNC ISR(ETH_ISR_RX)
{
/* Run test interrupt routine */
Eth_RX_interrupt_handler(0U);
}
INTERRUPT_FUNC ISR(ETH_ISR_RX1)
{
/* Run test interrupt routine */
Eth_RX_interrupt_handler(1U);
}
INTERRUPT_FUNC ISR(ETH_ISR_RX2)
{
/* Run test interrupt routine */
Eth_RX_interrupt_handler(2U);
}
These above steps will help you to determine the queue index to pass to the ISR functions.