mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Yao Zi <ziyao@disroot.org>
To: Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Yao Zi <ziyao@disroot.org>, Frank <Frank.Sae@motor-comm.com>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Bjorn Helgaas <bhelgaas@google.com>,
	"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Choong Yong Liang <yong.liang.choong@linux.intel.com>,
	Chen-Yu Tsai <wens@csie.org>, Jisheng Zhang <jszhang@kernel.org>,
	Furong Xu <0x1207@gmail.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	linux-pci@vger.kernel.org
Subject: [PATCH net-next 0/4] Add DWMAC glue driver for Motorcomm YT6801
Date: Tue, 14 Oct 2025 16:47:43 +0000	[thread overview]
Message-ID: <20251014164746.50696-2-ziyao@disroot.org> (raw)

This series adds glue driver for Motorcomm YT6801 PCIe ethernet
controller, which is considered mostly compatible with DWMAC-4 IP by
inspecting the register layout[1]. It integrates a Motorcomm YT8531S PHY
(confirmed by reading PHY ID) and GMII is used to connect the PHY to
MAC[2].

The initialization logic of the MAC is mostly based on previous upstream
effort for the controller[3] and the Deepin-maintained downstream Linux
driver[4] licensed under GPL-2.0 according to its SPDX headers. However,
this series is a completely re-write of the previous patch series,
utilizing the existing DWMAC4 driver and introducing a glue driver only.

This series only aims to add basic networking functions for the
controller, features like WoL, RSS and LED control are omitted for now.
Testing is done on Loongson 3A5000 machine. Through a local GbE switch,
it reaches 871Mbps (TX)/942Mbps (RX) on average,

$ iperf3 -c 172.16.70.230
Connecting to host 172.16.70.230, port 5201
[  5] local 172.16.70.12 port 48590 connected to 172.16.70.230 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   113 MBytes   950 Mbits/sec    0    376 KBytes
[  5]   1.00-2.00   sec   113 MBytes   946 Mbits/sec    0    376 KBytes
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec    0    376 KBytes
[  5]   3.00-4.00   sec   112 MBytes   939 Mbits/sec    0    376 KBytes
[  5]   4.00-5.00   sec   112 MBytes   939 Mbits/sec    0    376 KBytes
[  5]   5.00-6.00   sec   113 MBytes   946 Mbits/sec    0    399 KBytes
[  5]   6.00-7.00   sec   112 MBytes   940 Mbits/sec    0    399 KBytes
[  5]   7.00-8.00   sec   112 MBytes   940 Mbits/sec    0    399 KBytes
[  5]   8.00-9.00   sec   112 MBytes   938 Mbits/sec    0    399 KBytes
[  5]   9.00-10.00  sec   112 MBytes   937 Mbits/sec    0    399 KBytes

Connecting to host 172.16.70.12, port 5201
[  5] local 172.16.70.230 port 50466 connected to 172.16.70.12 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   106 MBytes   884 Mbits/sec    0    486 KBytes
[  5]   1.00-2.00   sec   104 MBytes   870 Mbits/sec    0    486 KBytes
[  5]   2.00-3.00   sec   104 MBytes   868 Mbits/sec    0    486 KBytes
[  5]   3.00-4.00   sec   104 MBytes   869 Mbits/sec    0    486 KBytes
[  5]   4.00-5.00   sec   104 MBytes   873 Mbits/sec    0    486 KBytes
[  5]   5.00-6.00   sec   104 MBytes   871 Mbits/sec    0    486 KBytes
[  5]   6.00-7.00   sec   103 MBytes   867 Mbits/sec    0    512 KBytes
[  5]   7.00-8.00   sec   104 MBytes   872 Mbits/sec    0    512 KBytes
[  5]   8.00-9.00   sec   104 MBytes   873 Mbits/sec    0    512 KBytes
[  5]   9.00-10.00  sec   104 MBytes   874 Mbits/sec    0    512 KBytes

Thanks for your time and review.

[1]: https://lore.kernel.org/all/Z_T6vv013jraCzSD@shell.armlinux.org.uk/
[2]: https://lore.kernel.org/all/a48d76ac-db08-46d5-9528-f046a7b541dc@motor-comm.com/
[3]: https://lore.kernel.org/all/a48d76ac-db08-46d5-9528-f046a7b541dc@motor-comm.com/
[4]: https://github.com/deepin-community/kernel/tree/dc61248a0e21/drivers/net/ethernet/motorcomm/yt6801

Yao Zi (4):
  PCI: Add vendor ID for Motorcomm Electronic Technology
  net: phy: motorcomm: Support YT8531S PHY in YT6801 Ethernet controller
  net: stmmac: Add glue driver for Motorcomm YT6801 ethernet controller
  MAINTAINERS: Assign myself as maintainer of Motorcomm DWMAC glue
    driver

 MAINTAINERS                                   |   6 +
 drivers/net/ethernet/stmicro/stmmac/Kconfig   |   9 +
 drivers/net/ethernet/stmicro/stmmac/Makefile  |   1 +
 .../ethernet/stmicro/stmmac/dwmac-motorcomm.c | 388 ++++++++++++++++++
 drivers/net/phy/motorcomm.c                   |   4 +
 include/linux/pci_ids.h                       |   2 +
 6 files changed, 410 insertions(+)
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-motorcomm.c

-- 
2.50.1


             reply	other threads:[~2025-10-14 16:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-14 16:47 Yao Zi [this message]
2025-10-14 16:47 ` [PATCH net-next 1/4] PCI: Add vendor ID for Motorcomm Electronic Technology Yao Zi
2025-10-14 20:43   ` Bjorn Helgaas
2025-10-15  9:57     ` Yao Zi
2025-10-14 16:47 ` [PATCH net-next 2/4] net: phy: motorcomm: Support YT8531S PHY in YT6801 Ethernet controller Yao Zi
2025-10-14 17:08   ` Russell King (Oracle)
2025-10-15 13:41     ` Yao Zi
2025-10-14 16:47 ` [PATCH net-next 3/4] net: stmmac: Add glue driver for Motorcomm YT6801 ethernet controller Yao Zi
2025-10-16 20:11   ` Andrew Lunn
2025-10-17 14:03     ` Yao Zi
2025-10-17 14:56       ` Andrew Lunn
2025-10-17 15:04         ` Russell King (Oracle)
2025-10-18  8:21           ` Yao Zi
2025-10-18  8:16         ` Yao Zi
2025-10-18 14:53           ` Andrew Lunn
2025-10-19  3:05             ` Yao Zi
2025-10-14 16:47 ` [PATCH net-next 4/4] MAINTAINERS: Assign myself as maintainer of Motorcomm DWMAC glue driver Yao Zi
2025-10-15  8:58 ` [PATCH net-next 0/4] Add DWMAC glue driver for Motorcomm YT6801 Mingcong Bai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20251014164746.50696-2-ziyao@disroot.org \
    --to=ziyao@disroot.org \
    --cc=0x1207@gmail.com \
    --cc=Frank.Sae@motor-comm.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=bhelgaas@google.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=jszhang@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=vladimir.oltean@nxp.com \
    --cc=wens@csie.org \
    --cc=yong.liang.choong@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®