Netdev List
 help / color / mirror / Atom feed
From: Lorenzo Bianconi <lorenzo@kernel.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>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>
Cc: Christian Marangi <ansuelsmth@gmail.com>,
	Benjamin Larsson <benjamin.larsson@genexis.eu>,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org, netdev@vger.kernel.org,
	devicetree@vger.kernel.org, Xuegang Lu <xuegang.lu@airoha.com>,
	Madhur Agrawal <madhur.agrawal@airoha.com>
Subject: Re: [PATCH net-next v8 00/10] net: airoha: Support multiple net_devices connected to the same GDM port
Date: Wed, 27 May 2026 12:16:01 +0200	[thread overview]
Message-ID: <ahbEYeiSzB9h3VgQ@lore-desk> (raw)
In-Reply-To: <20260519-airoha-eth-multi-serdes-v8-0-6bd70e329df6@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 6764 bytes --]

> 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 series introduces support for multiple net_devices connected to the
> same Frame Engine (FE) GDM port (GDM3 or GDM4) via an external hw
> arbiter. Please note GDM1 or GDM2 does not support the connection with
> the external arbiter.

In order to make easier the inclusion of this series I am splitting it in two
smaller ones:
- a preliminary rework series (just code adjustments)
- a smaller series where we introduce the real support for multiple net_devices
  connected to the same FE GDM port.

This way we can unlock even other patches in my queue.

Regards,
Lorenzo

> 
> ---
> Changes in v8:
> - Fix dts schema issues reported by sashiko.
> - Fix possible NULL-pointer dereference in patch 2/10.
> - Fix max mtu computation in airoha_dev_change_mtu().
> - Link to v7: https://lore.kernel.org/r/20260516-airoha-eth-multi-serdes-v7-0-99e0093303e2@kernel.org
> 
> Changes in v7:
> - Fix dma_sync_single_for_cpu() size in airoha_qdma_rx_process().
> - Fix hw stats reset.
> - Fix typos.
> - Add fix for airoha_tc_remove_htb_queue queue index.
> - Fix dts schema issues.
> - Remove hw stats patch from the series.
> - Link to v6: https://lore.kernel.org/r/20260511-airoha-eth-multi-serdes-v6-0-c899462c4f75@kernel.org
> 
> Changes in v6:
> - Reconfigure REG_GDM_LEN_CFG() whit max 'running' MTU in
>   airoha_dev_stop().
> - Fix port staring MIB counters in airoha_update_hw_stats().
> - Fix regression in TC_HTB_NODE_MODIFY command.
> - Fix length check in airoha_qdma_rx_process().
> - Fix dts schema.
> - Link to v5: https://lore.kernel.org/r/20260509-airoha-eth-multi-serdes-v5-0-805e38edc2aa@kernel.org
> 
> Changes in v5:
> - Move qos_sq_bmap bitmap in airoha_gdm_dev struct.
> - Unregister netdevice before running of_node_put().
> - Move stat MIB counters in airoha_gdm_dev struct.
> - Fix airoha_ppe_init_upd_mem() mac address configuration.
> - Do not return -EBUSY if we try to decrease configured MTU of a shared
>   GDM port, just skip hw configuration.
> - use int instead of atomic_t for GDM port users.
> - Add patch "net: airoha: Reserve RX headroom to avoid skb reallocation"
> - Fix typos.
> - Link to v4: https://lore.kernel.org/r/20260507-airoha-eth-multi-serdes-v4-0-af613b61ae02@kernel.org
> 
> Changes in v4:
> - Make ethernet-port property available just for GDM3 and GDM4 in DTS
>   specification
> - Move cpu_tx_packets, fwd_tx_packets qos_sq_bmap fields in airoha_qdma
>   struct
> - Fix of_node leak removing the net_device in airoha_remove() or
>   airoha_probe() error path
> - Fix nbq backward compatibility
> - Link to v3: https://lore.kernel.org/r/20260406-airoha-eth-multi-serdes-v3-0-ab6ea49d59ff@kernel.org
> 
> Changes in v3:
> - Fix MTU and VIP configuration when the GDM port is shared between
>   multiple net_devices.
> - Add sanity check for nbq parameter.
> - Add missing of_node_get() for net_device np node.
> - Check if GDM port is shared before decresing device MTU.
> - Move port forward configuration in airoha_dev_stop() before
>   configuring DMA tx/rx engine.
> - Introduce PRIV_FLAG_WAN parameter.
> - Link to v2: https://lore.kernel.org/r/20260401-airoha-eth-multi-serdes-v2-0-ac427ae4beeb@kernel.org
> 
> Changes in v2:
> - Rename multiplexer in arbiter in the commit logs.
> - Rebase on top of net-next main branch.
> - Add missing PPE cpu port configuration for GDM2 when loopback is
>   enabled.
> - Link to v1: https://lore.kernel.org/r/20260329-airoha-eth-multi-serdes-v1-0-00f52dc360ca@kernel.org
> 
> ---
> Lorenzo Bianconi (10):
>       dt-bindings: net: airoha: Add GDM port ethernet child node
>       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: Support multiple net_devices for a single FE GDM port
>       net: airoha: Do not stop GDM port if it is shared
>       net: airoha: Introduce WAN device flag
>       net: airoha: Support multiple LAN/WAN interfaces for hw MAC address configuration
> 
>  .../devicetree/bindings/net/airoha,en7581-eth.yaml |  56 +-
>  drivers/net/ethernet/airoha/airoha_eth.c           | 833 +++++++++++++++------
>  drivers/net/ethernet/airoha/airoha_eth.h           |  47 +-
>  drivers/net/ethernet/airoha/airoha_ppe.c           |  43 +-
>  4 files changed, 702 insertions(+), 277 deletions(-)
> ---
> base-commit: 7a348a95f696d20f15c776de4df8b4415bcf3d77
> change-id: 20260324-airoha-eth-multi-serdes-fb4b556ee756
> 
> Best regards,
> -- 
> Lorenzo Bianconi <lorenzo@kernel.org>
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

      parent reply	other threads:[~2026-05-27 10:16 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-19  8:57 [PATCH net-next v8 00/10] net: airoha: Support multiple net_devices connected to the same GDM port Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 01/10] dt-bindings: net: airoha: Add GDM port ethernet child node Lorenzo Bianconi
2026-05-22 19:27   ` Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 02/10] net: airoha: Introduce airoha_gdm_dev struct Lorenzo Bianconi
     [not found]   ` <20260520085932.9473C1F000E9@smtp.kernel.org>
2026-05-20 12:25     ` Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 03/10] net: airoha: Move airoha_qdma pointer in " Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 04/10] net: airoha: Rely on airoha_gdm_dev pointer in airoha_is_lan_gdm_port() Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 05/10] net: airoha: Move qos_sq_bmap in airoha_gdm_dev struct Lorenzo Bianconi
     [not found]   ` <20260520085926.97A481F000E9@smtp.kernel.org>
2026-05-20 12:24     ` Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 06/10] net: airoha: Move {cpu,fwd}_tx_packets " Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 07/10] net: airoha: Support multiple net_devices for a single FE GDM port Lorenzo Bianconi
     [not found]   ` <20260520085933.35D171F00897@smtp.kernel.org>
2026-05-20 12:28     ` Lorenzo Bianconi
2026-05-20 12:33     ` Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 08/10] net: airoha: Do not stop GDM port if it is shared Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 09/10] net: airoha: Introduce WAN device flag Lorenzo Bianconi
     [not found]   ` <20260520085933.C009F1F00893@smtp.kernel.org>
2026-05-20 12:46     ` Lorenzo Bianconi
2026-05-19  8:57 ` [PATCH net-next v8 10/10] net: airoha: Support multiple LAN/WAN interfaces for hw MAC address configuration Lorenzo Bianconi
     [not found]   ` <20260520085934.54AD01F00894@smtp.kernel.org>
2026-05-20 12:49     ` Lorenzo Bianconi
2026-05-22 18:25       ` Jakub Kicinski
2026-05-22 19:25         ` Lorenzo Bianconi
2026-05-22 23:58           ` Jakub Kicinski
2026-05-23  8:23             ` Lorenzo Bianconi
2026-05-25 19:08               ` Jakub Kicinski
2026-05-27 10:16 ` Lorenzo Bianconi [this message]

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=ahbEYeiSzB9h3VgQ@lore-desk \
    --to=lorenzo@kernel.org \
    --cc=andrew+netdev@lunn.ch \
    --cc=ansuelsmth@gmail.com \
    --cc=benjamin.larsson@genexis.eu \
    --cc=conor+dt@kernel.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=krzk+dt@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=madhur.agrawal@airoha.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=robh@kernel.org \
    --cc=xuegang.lu@airoha.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