<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/net/dwc_eth_qos.c, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/net/dwc_eth_qos.c?h=main</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/net/dwc_eth_qos.c?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-06-10T20:25:21Z</updated>
<entry>
<title>net: dwc_eth_qos: Add mediatek support</title>
<updated>2026-06-10T20:25:21Z</updated>
<author>
<name>Julien Stephan</name>
<email>jstephan@baylibre.com</email>
</author>
<published>2026-04-29T13:59:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=44f7d5945b324ba67dc0162a6eabc13f8f8d73ea'/>
<id>urn:sha1:44f7d5945b324ba67dc0162a6eabc13f8f8d73ea</id>
<content type='text'>
Synopsys DWC Ethernet QOS device support for MediaTek SoCs.
in particular this initial commit adds support for Genio 520/720 and
Genio 510/700 EVKs

Signed-off-by: fanyi zhang &lt;fanyi.zhang@mediatek.com&gt;
Signed-off-by: Julien Stephan &lt;jstephan@baylibre.com&gt;
Reviewed-by: Macpaul Lin &lt;macpaul.lin@mediatek.com&gt;
Link: https://patch.msgid.link/20260429-add-ethernet-support-for-genio-520-720-v4-7-be54e17239b7@baylibre.com
Signed-off-by: David Lechner &lt;dlechner@baylibre.com&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos_rockchip: Add support for RK3506</title>
<updated>2026-03-10T16:07:03Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-01-31T23:38:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5b5616f846542713aba4b8b459c31efba97cc0e6'/>
<id>urn:sha1:5b5616f846542713aba4b8b459c31efba97cc0e6</id>
<content type='text'>
Rockchip RK3506 has two Ethernet controllers based on Synopsys DWC
Ethernet QoS IP.

Add initial support for the RK3506 GMAC variant.

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Reviewed-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos: Define more of the unused MAC regs</title>
<updated>2026-02-06T15:42:45Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-01-29T21:01:52Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5fdc297b893eb5cc3e0cfe43359fba9680aa0299'/>
<id>urn:sha1:5fdc297b893eb5cc3e0cfe43359fba9680aa0299</id>
<content type='text'>
Multicast and Broadcast Queue Enable and Promiscuous Mode Enable bits
are currently written to "unused" registers using magic values.

Define more of the "unused" MAC regs based on information in the
DesignWare Cores Ethernet Quality-of-Service databook.

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos: Start DMA and MAC after tail pointers are initialized</title>
<updated>2026-02-06T15:42:45Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-01-29T21:01:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=8beb70f2309d6fd6abb1d5c539edab9b0934d656'/>
<id>urn:sha1:8beb70f2309d6fd6abb1d5c539edab9b0934d656</id>
<content type='text'>
The DesignWare Cores Ethernet Quality-of-Service databook state that
receive and transmit descriptor list address and also transmit and
receive tail pointer registers should be initialized before the receive
and transmit DMAs are started.

It also state to enable the MAC receiver only after the DMA is active.
Otherwise, received frames can fill the Rx FIFO and overflow.

Move the activation of receive and transmit DMA and MAC receiver until
after tail pointer registers have been initialized.

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos: Initialize the transmit tail pointer in eqos_start()</title>
<updated>2026-02-06T15:42:45Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-01-29T21:01:50Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=34c1ab534c69366d6eeb3d693a9afd37bd14aba5'/>
<id>urn:sha1:34c1ab534c69366d6eeb3d693a9afd37bd14aba5</id>
<content type='text'>
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 &lt;jonas@kwiboo.se&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos: Use lower_32_bits() for tail pointers</title>
<updated>2026-02-06T15:42:45Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2026-01-29T21:01:49Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=09245e094fe95c92bee0764f31b771b4a07a89c1'/>
<id>urn:sha1:09245e094fe95c92bee0764f31b771b4a07a89c1</id>
<content type='text'>
The DesignWare Cores Ethernet Quality-of-Service databook state that the
descriptor address from the start to the end of the ring must not cross
the 4GB boundary.

Use lower_32_bits() to write the lower 32 bits of descriptor addresses,
including the 32-bit tail pointers, consistently. No functional change
is intended.

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos: add support of stm32mp2 platform</title>
<updated>2025-05-05T13:51:47Z</updated>
<author>
<name>Christophe Roullier</name>
<email>christophe.roullier@foss.st.com</email>
</author>
<published>2025-04-11T09:27:20Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=20afca89ed53c9e373d4d4f5b9bea847fc47ee20'/>
<id>urn:sha1:20afca89ed53c9e373d4d4f5b9bea847fc47ee20</id>
<content type='text'>
Add compatible "st,stm32mp25-dwmac" to manage STM32MP2 boards

Signed-off-by: Christophe Roullier &lt;christophe.roullier@foss.st.com&gt;
Signed-off-by: Patrice Chotard &lt;patrice.chotard@foss.st.com&gt;
Reviewed-by: Marek Vasut &lt;marex@denx.de&gt;
Reviewed-by: Patrick Delaunay &lt;patrick.delaunay@foss.st.com&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos: Fix hang when freeing packet after stop</title>
<updated>2025-04-24T14:22:59Z</updated>
<author>
<name>Samuel Holland</name>
<email>samuel.holland@sifive.com</email>
</author>
<published>2025-04-14T19:30:11Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=a948f5711844498421432719c4c19d9629cb9c05'/>
<id>urn:sha1:a948f5711844498421432719c4c19d9629cb9c05</id>
<content type='text'>
If eqos_free_pkt() is called after eqos_stop(), eqos_stop_resets() will
have been called already. This may prevent accessing the MMIO space to
update the RX descriptor tail pointer, so we must skip the descriptor
maintenance logic. This is okay because the descriptors and tail pointer
will all be rewritten anyway during the next call to eqos_start().

This hang was observed after a failed TFTP transaction:

  eqos_recv(dev=000000047fb57330, flags=1):
  eqos_recv: *packetp=000000c3ffb5c080, length=151

  TFTP error: 'file &lt;FILE&gt; not found for &lt;IP&gt;' (1)
  Not retrying...
  eqos_stop(dev=000000047fb57330):
  eqos_stop: OK
  eqos_free_pkt(packet=000000c3ffb5c080, length=151)
  &lt;HANG&gt;

Fixes: ba4dfef1469f ("net: add driver for Synopsys Ethernet QoS device")
Signed-off-by: Samuel Holland &lt;samuel.holland@sifive.com&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos_rockchip: Add support for RK3576</title>
<updated>2025-04-23T14:12:05Z</updated>
<author>
<name>Heiko Stuebner</name>
<email>heiko@sntech.de</email>
</author>
<published>2025-04-15T21:51:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=ed71874a73ff802347b5373267fb88c670a8d317'/>
<id>urn:sha1:ed71874a73ff802347b5373267fb88c670a8d317</id>
<content type='text'>
Add rk_gmac_ops and other special handling that is needed for GMAC to
work on RK3576.

Signed-off-by: Heiko Stuebner &lt;heiko@sntech.de&gt;
Reviewed-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Reviewed-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
</content>
</entry>
<entry>
<title>net: dwc_eth_qos_rockchip: Add support for RK3528</title>
<updated>2025-04-23T14:12:04Z</updated>
<author>
<name>Jonas Karlman</name>
<email>jonas@kwiboo.se</email>
</author>
<published>2025-04-07T22:47:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=838bf2f09bf9a5ba2a438d0efb39c5a0958345f6'/>
<id>urn:sha1:838bf2f09bf9a5ba2a438d0efb39c5a0958345f6</id>
<content type='text'>
Rockchip RK3528 has two Ethernet controllers based on Synopsys DWC
Ethernet QoS IP.

Add initial support for the RK3528 GMAC variant.

Signed-off-by: Jonas Karlman &lt;jonas@kwiboo.se&gt;
Reviewed-by: Kever Yang &lt;kever.yang@rock-chips.com&gt;
</content>
</entry>
</feed>
