i use an Adaption from the original EMAC Driver delivered with CCES.
in EMACInterruptHandler(adi_gemac.c) there are following lines:
dma_status = pEmacRegs->EMAC_DMA_STAT; /* acknowledge dma interrupts except RI and TI */ pEmacRegs->EMAC_DMA_STAT = dma_status & 0x1FFFF;
for my understanding this is an ack of all given dma-ints -also for bit0(TX) and bit6(RX)
so, the ack should be done with
pEmacRegs->EMAC_DMA_STAT = dma_status & 0x1FFBE;
The code is correct. the comment is incorrect. The RI and TI interrupts should be acked.
These interrupt are processed by the handler.