| From: |
| Lorenzo Bianconi <lorenzo-AT-kernel.org> |
| To: |
| Andrew Lunn <andrew+netdev-AT-lunn.ch>, "David S. Miller" <davem-AT-davemloft.net>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com> |
| Subject: |
| [PATCH net-next 0/6] net: airoha: Preliminary patches to support multiple net_devices connected to the same GDM port |
| Date: |
| Wed, 27 May 2026 12:21:14 +0200 |
| Message-ID: |
| <20260527-airoha-eth-multi-serdes-preliminary-v1-0-ec6ed73ef7fc@kernel.org> |
| Cc: |
| Simon Horman <horms-AT-kernel.org>, linux-arm-kernel-AT-lists.infradead.org, linux-mediatek-AT-lists.infradead.org, netdev-AT-vger.kernel.org, Xuegang Lu <xuegang.lu-AT-airoha.com>, Lorenzo Bianconi <lorenzo-AT-kernel.org> |
| Archive-link: |
| Article |
EN7581 or AN7583 SoCs support connecting multiple external SerDes (e.g.
Ethernet or USB SerDes) to GDM3 or GDM4 ports via a hw arbiter that
manages the traffic in a TDM manner. As a result multiple net_devices can
connect to the same GDM{3,4} port and there is a theoretical "1:n"
relation between GDM ports and net_devices.
┌─────────────────────────────────┐
│ │ ┌──────┐
│ P1 GDM1 ├────►MT7530│
│ │ └──────┘
│ │ ETH0 (DSA conduit)
│ │
│ PSE/FE │
│ │
│ │
│ │ ┌─────┐
│ P0 CDM1 ├────►QDMA0│
│ P4 P9 GDM4 │ └─────┘
└──┬─────────────────────────┬────┘
│ │
┌──▼──┐ ┌────▼────┐
│ PPE │ │ ARB │
└─────┘ └─┬─────┬─┘
│ │
┌──▼──┐┌─▼───┐
│ ETH ││ USB │
└─────┘└─────┘
ETH1 ETH2
This is a preliminary series to introduce support for multiple net_devices
connected to the same Frame Engine (FE) GDM port (GDM3 or GDM4) via an
external hw arbiter.
---
Lorenzo Bianconi (6):
net: airoha: Introduce airoha_gdm_dev struct
net: airoha: Move airoha_qdma pointer in airoha_gdm_dev struct
net: airoha: Rely on airoha_gdm_dev pointer in airoha_is_lan_gdm_port()
net: airoha: Move qos_sq_bmap in airoha_gdm_dev struct
net: airoha: Move {cpu,fwd}_tx_packets in airoha_gdm_dev struct
net: airoha: Rename airoha_set_gdm2_loopback in airoha_enable_gdm2_loopback
drivers/net/ethernet/airoha/airoha_eth.c | 445 ++++++++++++++++++-------------
drivers/net/ethernet/airoha/airoha_eth.h | 35 ++-
drivers/net/ethernet/airoha/airoha_ppe.c | 34 +--
3 files changed, 297 insertions(+), 217 deletions(-)
---
base-commit: aa064a614efcfa4c300609d1f01134e99a12ad10
change-id: 20260527-airoha-eth-multi-serdes-preliminary-51204fb642fc
Best regards,
--
Lorenzo Bianconi <lorenzo@kernel.org>