Hi,
I have ethernet traffic running into GMAC 0 thats functioning properly but I want to periodically read out the packet count of the RXQs in the MTL.
I'm reading off the PRXQ field every 1ms in the MTL_RXQ0_DEBUG, 1, and 2 registers but I'm only getting 0s suggesting that there is never a packet in the RXQ. I've attempted to read across all 3 queues without success. It seems I can read the overflow counter properly, as when I pause GDB the overflow counter will fill up.
I read it through a direct hardware access to the registers:
#define GMAC_MTL_RXQ_GET(x) \
(uint32_t)(((x)&GMAC_MTL_RXQ0_DEBUG_RXQSTS_MASK) >> GMAC_MTL_RXQ0_DEBUG_RXQSTS_SHIFT)
Am I missing something in how the MTL_RXQ_DEBUG register works? Is there a better solution to monitor the DMA/MTL fill status (eth bus load)?