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.

TMS570LC4357: Clearing Tx/Rx interrupts for the TMS570LC43 driver EMAC (hdkif.c handlers)

Part Number: TMS570LC4357
Other Parts Discussed in Thread: HALCOGEN


Presently we have written an application running on the (Hercules TMS570LC43x Development Kit board)
using the protocol stack lwIP and the HALCOGEN drivers.

If you check the driver source (hdkif.c) at the end of the interrupt handlers the interrupts are cleared as follow;

void hdkif_tx_inthandler(struct netif *netif)
{

...

EMACCoreIntAck(hdkif->emac_base, EMAC_INT_CORE0_RX); // ???
EMACCoreIntAck(hdkif->emac_base, EMAC_INT_CORE0_TX);

}

and

void hdkif_rx_inthandler(struct netif *netif)
{

...

EMACCoreIntAck(hdkif->emac_base, EMAC_INT_CORE0_RX);
EMACCoreIntAck(hdkif->emac_base, EMAC_INT_CORE0_TX); // ???

}

Is there any reasons why the Tx Interrupt handler must clear the Rx
interrupts and the Rx Interrupt Handler must clear the Tx interrupts ?

It's working but does not look standard with driver logic.

Best Regards,

Yvon