Hello, would somebody kindly explain in which case GMAC sends pause frame to the rgmii external port?
There is a section 24.11.4.8.9.2.1 in TRM about receive flow control, but it sais "Receive flow control is triggered (when enabled) when the RX_FLOW_TRIGGER input is asserted." without any details about it. What is a RX_FLOW_TRIGGER and in which case it is asserted?
I've enabled rx and tx flow control and tx flow control is definitely working as it should, because when GMAC is continuously sending frames and it receives a pause frame, it slows down and I can see in the STATS registers that some pause frames have been received. But I can't make a case when GMAC is sending a pause frame to external port. When there's no rx descriptors left it just drops every received packet and increments DMA_OVERRUN counter in stats registers. I'm continuously sending ethernet packets to GMAC external rgmii port via custom designed phy device.
I've found a thread with the same question but for another processor (802.3x Flow Control on the AM335x), the TI employee said that the only way to make GMAC sending pause frames to the external port is to disable RX in CPPI DMA, is that right for the AM5728 processor too? I've tried this and the pause frames were sent as i can see, but that doesn't make a lot of sense because GMAC can't receive packets without CPPI DMA. So is there any way to configure GMAC somehow to make it sending a pause frame in response to packets flood without disabling RX in CPPI DMA?
I'm using only csl from processor-sdk-rtos without any rtos threads.
Regards, Vasilij.