]> git.ipfire.org Git - thirdparty/u-boot.git/commit
net: dwc_eth_qos: Initialize the transmit tail pointer in eqos_start()
authorJonas Karlman <jonas@kwiboo.se>
Thu, 29 Jan 2026 21:01:50 +0000 (21:01 +0000)
committerJerome Forissier <jerome.forissier@arm.com>
Fri, 6 Feb 2026 15:42:45 +0000 (16:42 +0100)
commit34c1ab534c69366d6eeb3d693a9afd37bd14aba5
tree7602156856c3071f63ebc951e21e8c5e9c22fe4d
parent09245e094fe95c92bee0764f31b771b4a07a89c1
net: dwc_eth_qos: Initialize the transmit tail pointer in eqos_start()

The DesignWare Cores Ethernet Quality-of-Service databook state that
descriptors up to one location less than the one indicated by the
descriptor tail pointer are owned by the DMA. The DMA continues to
process the descriptors until the following condition occurs:

  Current Descriptor Pointer == Descriptor Tail Pointer

The DMA goes into suspend mode when this condition occurs, and updating
the tail pointer resume the DMA processing.

Configure the transmit tail pointer to the first (current) descriptor
pointer so that the tail pointer is a valid address instead of being
initialized to NULL when transmit DMA is started.

Also update the receive tail pointer comment to state that by pointing
to the last descriptor we are actually implying that all receive
descriptors are owned by and can be processed by the DMA.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
drivers/net/dwc_eth_qos.c