> I agree that the TRM says the transmit pointer is reset while TE is low. My > question is whether this describes an internal pointer being reloaded from TBQP, > or whether TBQP itself is restored to the original ring base. The Zynq UltraScale TRM [1] describes the receive-buffer queue pointer as follows: An internal counter represents the receive-buffer queue pointer and it is not visible through the CPU interface. I could not find a similar description for the transmit-buffer queue pointer, but I believe it behaves the same way. From a software perspective, it should be safe to assume that the TBQP is reset to point to the start of the transmit descriptor list upon reset. This assumption is supported by the description of the transmit_q_ptr (GEM) Register [2]: Reading this register returns the location of the descriptor currently being accessed. Since the DMA handles two frames at once, this may not necessarily be pointing to the current frame being transmitted. [1] https://docs.amd.com/v/u/en-US/ug1085-zynq-ultrascale-trm [2] https://docs.amd.com/r/en-US/ug1087-zynq-ultrascale-registers/transmit_q_ptr-GEM-Register Thanks, Kevin