Hi,
I'm working with a Zedboard and the Ethernet driver (XEmacPs) for a standalone application. My goal now is to send packets as fast as I can. As long as I know, the limit for a Buffer Descriptor Ring (BdRing) is 32 BDs, so I need to fill a new BdRing and send it after the transmission of the previous.
When I allocate a new BdRing and enqueue it to hardware, then it seems that some of the previous packets hasn't been transmitted yet, so the board doesn't transmit all the BDs of the new BdRing and I lose them. If I put a delay function between the two transmissions, then everything goes right (except for the useless delay...).
So... Is there some way to check if a transmission is completely finished in order to send a new one without those problems? Which is the proper way to send BdRings constantly?
Thank you, and forgive my English.