* [PATCH net-next 0/3] net: stmmac: add physical port identification support
@ 2025-12-04 16:31 John Madieu
0 siblings, 0 replies; 14+ messages in thread
From: John Madieu @ 2025-12-04 16:31 UTC (permalink / raw)
To: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: biju.das.jz, claudiu.beznea, linux, magnus.damm, mcoquelin.stm32,
alexandre.torgue, netdev, linux-renesas-soc, devicetree,
John Madieu
This series adds physical port identification support to the stmmac driver,
enabling userspace to query hardware-stable identifiers for network interfaces
via ndo_get_phys_port_id() and ndo_get_phys_port_name().
On systems with multiple ethernet controllers sharing the same driver,
physical port identification provides stable identifiers that persist
across reboots and are independent of interface enumeration order.
This is particularly useful for predictable network interface naming
and for correlating interfaces with physical connectors.
The implementation follows a two-tier approach:
1. Generic stmmac support: Default implementations use the permanent MAC
address as port ID and bus_id for port naming. This provides immediate
benefit for all stmmac-based platforms.
2. Glue driver override: Platform drivers can provide custom callbacks
for hardware-specific identification schemes. The Renesas GBETH driver
implements this to support device tree-based port identification,
addressing cases where hardware lacks unique identification registers.
The Renesas implementation constructs an 8-byte port identifier from:
- Permanent MAC address (if available) or Renesas OUI (74:90:50) as fallback
- Port index from device tree property or ethernet alias
John Madieu (3):
net: stmmac: add physical port identification support
dt-bindings: net: renesas-gbeth: Add port-id property
net: stmmac: dwmac-renesas-gbeth: add physical port identification
.../bindings/net/renesas,rzv2h-gbeth.yaml | 19 +++++++
.../stmicro/stmmac/dwmac-renesas-gbeth.c | 56 +++++++++++++++++++
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 54 ++++++++++++++++++
include/linux/stmmac.h | 5 ++
4 files changed, 134 insertions(+)
--
2.25.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH net-next 0/3] net: stmmac: add physical port identification support
@ 2025-12-04 16:37 John Madieu
2025-12-04 16:37 ` [PATCH net-next 1/3] " John Madieu
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: John Madieu @ 2025-12-04 16:37 UTC (permalink / raw)
To: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: biju.das.jz, claudiu.beznea, linux, magnus.damm, mcoquelin.stm32,
alexandre.torgue, netdev, linux-renesas-soc, devicetree,
John Madieu
This series adds physical port identification support to the stmmac driver,
enabling userspace to query hardware-stable identifiers for network interfaces
via ndo_get_phys_port_id() and ndo_get_phys_port_name().
On systems with multiple ethernet controllers sharing the same driver,
physical port identification provides stable identifiers that persist
across reboots and are independent of interface enumeration order.
This is particularly useful for predictable network interface naming
and for correlating interfaces with physical connectors.
The implementation follows a two-tier approach:
1. Generic stmmac support: Default implementations use the permanent MAC
address as port ID and bus_id for port naming. This provides immediate
benefit for all stmmac-based platforms.
2. Glue driver override: Platform drivers can provide custom callbacks
for hardware-specific identification schemes. The Renesas GBETH driver
implements this to support device tree-based port identification,
addressing cases where hardware lacks unique identification registers.
The Renesas implementation constructs an 8-byte port identifier from:
- Permanent MAC address (if available) or Renesas OUI (74:90:50) as fallback
- Port index from device tree property or ethernet alias
John Madieu (3):
net: stmmac: add physical port identification support
dt-bindings: net: renesas-gbeth: Add port-id property
net: stmmac: dwmac-renesas-gbeth: add physical port identification
.../bindings/net/renesas,rzv2h-gbeth.yaml | 19 +++++++
.../stmicro/stmmac/dwmac-renesas-gbeth.c | 56 +++++++++++++++++++
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 54 ++++++++++++++++++
include/linux/stmmac.h | 5 ++
4 files changed, 134 insertions(+)
--
2.25.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH net-next 1/3] net: stmmac: add physical port identification support
2025-12-04 16:37 [PATCH net-next 0/3] net: stmmac: add physical port identification support John Madieu
@ 2025-12-04 16:37 ` John Madieu
2025-12-05 6:41 ` kernel test robot
2025-12-05 7:34 ` kernel test robot
2025-12-04 16:37 ` [PATCH net-next 2/3] dt-bindings: net: renesas-gbeth: Add port-id property John Madieu
` (3 subsequent siblings)
4 siblings, 2 replies; 14+ messages in thread
From: John Madieu @ 2025-12-04 16:37 UTC (permalink / raw)
To: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: biju.das.jz, claudiu.beznea, linux, magnus.damm, mcoquelin.stm32,
alexandre.torgue, netdev, linux-renesas-soc, devicetree,
John Madieu
Implement ndo_get_phys_port_id and ndo_get_phys_port_name callbacks
to provide physical port identification for all stmmac-based devices.
Default implementations use the permanent MAC address for port ID and
bus_id for port name. Glue drivers can override these by setting
get_phys_port_id and get_phys_port_name callbacks in plat_stmmacenet_data.
Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com>
---
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 54 +++++++++++++++++++
include/linux/stmmac.h | 5 ++
2 files changed, 59 insertions(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 15b0c08ebd877..e8f642c9941b6 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -7151,6 +7151,58 @@ static void stmmac_get_stats64(struct net_device *dev, struct rtnl_link_stats64
stats->rx_missed_errors = priv->xstats.rx_missed_cntr;
}
+/**
+ * stmmac_get_phys_port_id - Get physical port identification
+ * @dev: net device structure
+ * @ppid: pointer to physical port id structure
+ *
+ * Returns a unique physical port identifier. If the platform provides
+ * a custom callback, it is used. Otherwise, the permanent MAC address
+ * serves as the default identifier.
+ *
+ * Return: 0 on success, negative error code otherwise
+ */
+static int stmmac_get_phys_port_id(struct net_device *dev,
+ struct netdev_phys_item_id *ppid)
+{
+ struct stmmac_priv *priv = netdev_priv(dev);
+
+ /* Allow glue driver to override */
+ if (priv->plat->get_phys_port_id)
+ return priv->plat->get_phys_port_id(dev, ppid);
+
+ /* Default: use permanent MAC address as port ID */
+ ppid->id_len = ETH_ALEN;
+ memcpy(ppid->id, dev->perm_addr, ETH_ALEN);
+
+ return 0;
+}
+
+/**
+ * stmmac_get_phys_port_name - Get physical port name
+ * @dev: net device structure
+ * @name: buffer to store the port name
+ * @len: length of the buffer
+ *
+ * Returns a human-readable physical port name. If the platform provides
+ * a custom callback, it is used. Otherwise, a default name based on
+ * the bus_id is generated.
+ *
+ * Return: 0 on success, negative error code otherwise
+ */
+static int stmmac_get_phys_port_name(struct net_device *dev,
+ char *name, size_t len)
+{
+ struct stmmac_priv *priv = netdev_priv(dev);
+
+ /* Allow glue driver to override */
+ if (priv->plat->get_phys_port_name)
+ return priv->plat->get_phys_port_name(dev, name, len);
+
+ /* Default: use bus_id as port identifier */
+ return snprintf(name, len, "p%d", priv->plat->bus_id) >= len ? -EINVAL : 0;
+}
+
static const struct net_device_ops stmmac_netdev_ops = {
.ndo_open = stmmac_open,
.ndo_start_xmit = stmmac_xmit,
@@ -7172,6 +7224,8 @@ static const struct net_device_ops stmmac_netdev_ops = {
.ndo_xsk_wakeup = stmmac_xsk_wakeup,
.ndo_hwtstamp_get = stmmac_hwtstamp_get,
.ndo_hwtstamp_set = stmmac_hwtstamp_set,
+ .ndo_get_phys_port_id = stmmac_get_phys_port_id,
+ .ndo_get_phys_port_name = stmmac_get_phys_port_name,
};
static void stmmac_reset_subtask(struct stmmac_priv *priv)
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index 4f70a6551e68c..2b98c2d354804 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -277,6 +277,11 @@ struct plat_stmmacenet_data {
void (*pcs_exit)(struct stmmac_priv *priv);
struct phylink_pcs *(*select_pcs)(struct stmmac_priv *priv,
phy_interface_t interface);
+ /* Physical port identification callbacks (optional, for glue driver override) */
+ int (*get_phys_port_id)(struct net_device *ndev,
+ struct netdev_phys_item_id *ppid);
+ int (*get_phys_port_name)(struct net_device *ndev,
+ char *name, size_t len);
void *bsp_priv;
struct clk *stmmac_clk;
struct clk *pclk;
--
2.25.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 2/3] dt-bindings: net: renesas-gbeth: Add port-id property
2025-12-04 16:37 [PATCH net-next 0/3] net: stmmac: add physical port identification support John Madieu
2025-12-04 16:37 ` [PATCH net-next 1/3] " John Madieu
@ 2025-12-04 16:37 ` John Madieu
2025-12-04 16:37 ` [PATCH net-next 3/3] net: stmmac: dwmac-renesas-gbeth: add physical port identification John Madieu
` (2 subsequent siblings)
4 siblings, 0 replies; 14+ messages in thread
From: John Madieu @ 2025-12-04 16:37 UTC (permalink / raw)
To: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: biju.das.jz, claudiu.beznea, linux, magnus.damm, mcoquelin.stm32,
alexandre.torgue, netdev, linux-renesas-soc, devicetree,
John Madieu
Add optional port-id property to identify ethernet ports on RZ/V2H
SoCs. The hardware doesn't provide unique identification registers
for multiple ethernet instances, so this property allows explicit
port identification from the device tree.
Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com>
---
.../bindings/net/renesas,rzv2h-gbeth.yaml | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml b/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml
index bd53ab300f500..bb59c6a925d3f 100644
--- a/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml
+++ b/Documentation/devicetree/bindings/net/renesas,rzv2h-gbeth.yaml
@@ -117,6 +117,23 @@ properties:
- description: AXI power-on system reset
- description: AHB reset
+ renesas,port-id:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description:
+ Optional unique port identifier for this ethernet interface.
+ Used for physical port identification (phys_port_id, phys_port_name).
+ If not specified, the ethernet alias index is used as fallback.
+ minimum: 0
+ maximum: 255
+
+ renesas,port-name:
+ $ref: /schemas/types.yaml#/definitions/string
+ description:
+ Optional custom name for the physical port. Used by
+ ndo_get_phys_port_name() for interface naming.
+ If not specified, "p<N>" format is used where N is the port-id
+ or ethernet alias index.
+
pcs-handle:
description:
phandle pointing to a PCS sub-node compatible with
@@ -230,6 +247,8 @@ examples:
snps,txpbl = <32>;
snps,rxpbl = <32>;
phy-handle = <&phy0>;
+ renesas,port-id = <0>;
+ renesas,port-name = "mgmt";
stmmac_axi_setup: stmmac-axi-config {
snps,lpi_en;
--
2.25.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 3/3] net: stmmac: dwmac-renesas-gbeth: add physical port identification
2025-12-04 16:37 [PATCH net-next 0/3] net: stmmac: add physical port identification support John Madieu
2025-12-04 16:37 ` [PATCH net-next 1/3] " John Madieu
2025-12-04 16:37 ` [PATCH net-next 2/3] dt-bindings: net: renesas-gbeth: Add port-id property John Madieu
@ 2025-12-04 16:37 ` John Madieu
2025-12-04 17:07 ` [PATCH net-next 0/3] net: stmmac: add physical port identification support Russell King (Oracle)
2025-12-04 21:07 ` Andrew Lunn
4 siblings, 0 replies; 14+ messages in thread
From: John Madieu @ 2025-12-04 16:37 UTC (permalink / raw)
To: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: biju.das.jz, claudiu.beznea, linux, magnus.damm, mcoquelin.stm32,
alexandre.torgue, netdev, linux-renesas-soc, devicetree,
John Madieu
Implement ndo_get_phys_port_id() and ndo_get_phys_port_name() callbacks
for the Renesas RZ/G3E GBETH driver.
The port ID is an 8-byte identifier constructed from:
- Permanent MAC address if available (addr_assign_type == NET_ADDR_PERM)
- Renesas OUI (74:90:50) as fallback for random/generated MACs
- Port index from 'port-id' DT property or ethernet alias
The port name resolution follows this hierarchy:
- 'port-name' DT property if specified (allows custom names like "mgmt")
- "p<N>" format using 'port-id' DT property
- "p<N>" format using ethernet alias index as fallback
Signed-off-by: John Madieu <john.madieu.xa@bp.renesas.com>
---
.../stmicro/stmmac/dwmac-renesas-gbeth.c | 56 +++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-renesas-gbeth.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-renesas-gbeth.c
index bc7bb975803ca..5acb65b0e4f06 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac-renesas-gbeth.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-renesas-gbeth.c
@@ -16,7 +16,9 @@
#include <linux/clk.h>
#include <linux/device.h>
#include <linux/module.h>
+#include <linux/netdevice.h>
#include <linux/of.h>
+#include <linux/of_net.h>
#include <linux/pcs-rzn1-miic.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
@@ -91,6 +93,57 @@ static struct phylink_pcs *renesas_gmac_select_pcs(struct stmmac_priv *priv,
return priv->hw->phylink_pcs;
}
+static int renesas_gbeth_get_port_id(struct device *dev)
+{
+ int port_id;
+
+ if (!device_property_read_u32(dev, "renesas,port-id", &port_id))
+ return port_id;
+
+ port_id = of_alias_get_id(dev_of_node(dev), "ethernet");
+
+ return port_id < 0 ? 0 : port_id;
+}
+
+static int renesas_gbeth_get_phys_port_name(struct net_device *ndev,
+ char *name, size_t len)
+{
+ struct stmmac_priv *priv = netdev_priv(ndev);
+ struct renesas_gbeth *gbeth = priv->plat->bsp_priv;
+ const char *port_name;
+
+ if (!device_property_read_string(gbeth->dev, "renesas,port-name", &port_name))
+ return snprintf(name, len, "%s", port_name) >= len ? -EINVAL : 0;
+
+ return snprintf(name, len, "p%d", renesas_gbeth_get_port_id(gbeth->dev)) >= len ? -EINVAL : 0;
+}
+
+static int renesas_gbeth_get_phys_port_id(struct net_device *ndev,
+ struct netdev_phys_item_id *ppid)
+{
+ struct stmmac_priv *priv = netdev_priv(ndev);
+ struct renesas_gbeth *gbeth = priv->plat->bsp_priv;
+ u8 *id = ppid->id;
+
+ if (ndev->addr_assign_type == NET_ADDR_PERM) {
+ memcpy(id, ndev->perm_addr, ETH_ALEN);
+ } else {
+ /* Fallback: Renesas OUI prefix (74:90:50) */
+ id[0] = 0x74;
+ id[1] = 0x90;
+ id[2] = 0x50;
+ id[3] = 0x00;
+ id[4] = 0x00;
+ id[5] = 0x00;
+ }
+
+ id[6] = renesas_gbeth_get_port_id(gbeth->dev) & 0xff;
+ id[7] = 0x00;
+ ppid->id_len = 8;
+
+ return 0;
+}
+
static int renesas_gbeth_init(struct platform_device *pdev, void *priv)
{
struct plat_stmmacenet_data *plat_dat;
@@ -194,6 +247,9 @@ static int renesas_gbeth_probe(struct platform_device *pdev)
plat_dat->select_pcs = renesas_gmac_select_pcs;
}
+ plat_dat->get_phys_port_id = renesas_gbeth_get_phys_port_id;
+ plat_dat->get_phys_port_name = renesas_gbeth_get_phys_port_name;
+
return devm_stmmac_pltfr_probe(pdev, plat_dat, &stmmac_res);
}
--
2.25.1
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH net-next 0/3] net: stmmac: add physical port identification support
@ 2025-12-04 16:40 John Madieu
2025-12-04 16:55 ` Krzysztof Kozlowski
2025-12-04 17:09 ` Russell King (Oracle)
0 siblings, 2 replies; 14+ messages in thread
From: John Madieu @ 2025-12-04 16:40 UTC (permalink / raw)
To: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: biju.das.jz, claudiu.beznea, linux, magnus.damm, mcoquelin.stm32,
alexandre.torgue, netdev, linux-renesas-soc, devicetree,
John Madieu
This series adds physical port identification support to the stmmac driver,
enabling userspace to query hardware-stable identifiers for network interfaces
via ndo_get_phys_port_id() and ndo_get_phys_port_name().
On systems with multiple ethernet controllers sharing the same driver,
physical port identification provides stable identifiers that persist
across reboots and are independent of interface enumeration order.
This is particularly useful for predictable network interface naming
and for correlating interfaces with physical connectors.
The implementation follows a two-tier approach:
1. Generic stmmac support: Default implementations use the permanent MAC
address as port ID and bus_id for port naming. This provides immediate
benefit for all stmmac-based platforms.
2. Glue driver override: Platform drivers can provide custom callbacks
for hardware-specific identification schemes. The Renesas GBETH driver
implements this to support device tree-based port identification,
addressing cases where hardware lacks unique identification registers.
The Renesas implementation constructs an 8-byte port identifier from:
- Permanent MAC address (if available) or Renesas OUI (74:90:50) as fallback
- Port index from device tree property or ethernet alias
John Madieu (3):
net: stmmac: add physical port identification support
dt-bindings: net: renesas-gbeth: Add port-id property
net: stmmac: dwmac-renesas-gbeth: add physical port identification
.../bindings/net/renesas,rzv2h-gbeth.yaml | 19 +++++++
.../stmicro/stmmac/dwmac-renesas-gbeth.c | 56 +++++++++++++++++++
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 54 ++++++++++++++++++
include/linux/stmmac.h | 5 ++
4 files changed, 134 insertions(+)
--
2.25.1
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH net-next 0/3] net: stmmac: add physical port identification support
2025-12-04 16:40 John Madieu
@ 2025-12-04 16:55 ` Krzysztof Kozlowski
2025-12-04 17:02 ` John Madieu
2025-12-04 17:09 ` Russell King (Oracle)
1 sibling, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-12-04 16:55 UTC (permalink / raw)
To: John Madieu, prabhakar.mahadev-lad.rj, andrew+netdev, davem,
edumazet, kuba, pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: biju.das.jz, claudiu.beznea, linux, magnus.damm, mcoquelin.stm32,
alexandre.torgue, netdev, linux-renesas-soc, devicetree
On 04/12/2025 17:40, John Madieu wrote:
> This series adds physical port identification support to the stmmac driver,
> enabling userspace to query hardware-stable identifiers for network interfaces
> via ndo_get_phys_port_id() and ndo_get_phys_port_name().
>
> On systems with multiple ethernet controllers sharing the same driver,
> physical port identification provides stable identifiers that persist
> across reboots and are independent of interface enumeration order.
> This is particularly useful for predictable network interface naming
> and for correlating interfaces with physical connectors.
>
> The implementation follows a two-tier approach:
>
Please slow down. You sent three copies of the same.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH net-next 0/3] net: stmmac: add physical port identification support
2025-12-04 16:55 ` Krzysztof Kozlowski
@ 2025-12-04 17:02 ` John Madieu
0 siblings, 0 replies; 14+ messages in thread
From: John Madieu @ 2025-12-04 17:02 UTC (permalink / raw)
To: Krzysztof Kozlowski, Prabhakar Mahadev Lad, andrew+netdev@lunn.ch,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, geert+renesas@glider.be
Cc: Biju Das, Claudiu.Beznea, linux@armlinux.org.uk, magnus.damm,
mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com,
netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
devicetree@vger.kernel.org
Hi Krystof,
> -----Original Message-----
> From: Krzysztof Kozlowski <krzk@kernel.org>
> Sent: Thursday, December 4, 2025 5:55 PM
> To: John Madieu <john.madieu.xa@bp.renesas.com>; Prabhakar Mahadev Lad
> <prabhakar.mahadev-lad.rj@bp.renesas.com>; andrew+netdev@lunn.ch;
> davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
> pabeni@redhat.com; robh@kernel.org; krzk+dt@kernel.org;
> conor+dt@kernel.org; geert+renesas@glider.be
> Cc: Biju Das <biju.das.jz@bp.renesas.com>; Claudiu.Beznea
> <claudiu.beznea@tuxon.dev>; linux@armlinux.org.uk; magnus.damm
> <magnus.damm@gmail.com>; mcoquelin.stm32@gmail.com;
> alexandre.torgue@foss.st.com; netdev@vger.kernel.org; linux-renesas-
> soc@vger.kernel.org; devicetree@vger.kernel.org
> Subject: Re: [PATCH net-next 0/3] net: stmmac: add physical port
> identification support
>
> On 04/12/2025 17:40, John Madieu wrote:
> > This series adds physical port identification support to the stmmac
> > driver, enabling userspace to query hardware-stable identifiers for
> > network interfaces via ndo_get_phys_port_id() and
> ndo_get_phys_port_name().
> >
> > On systems with multiple ethernet controllers sharing the same driver,
> > physical port identification provides stable identifiers that persist
> > across reboots and are independent of interface enumeration order.
> > This is particularly useful for predictable network interface naming
> > and for correlating interfaces with physical connectors.
> >
> > The implementation follows a two-tier approach:
> >
>
>
> Please slow down. You sent three copies of the same.
I'm sorry for the noise. Something wrong happened while sending
the patch series out. Will take care next time.
Regard,
John
>
> Best regards,
> Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH net-next 0/3] net: stmmac: add physical port identification support
2025-12-04 16:37 [PATCH net-next 0/3] net: stmmac: add physical port identification support John Madieu
` (2 preceding siblings ...)
2025-12-04 16:37 ` [PATCH net-next 3/3] net: stmmac: dwmac-renesas-gbeth: add physical port identification John Madieu
@ 2025-12-04 17:07 ` Russell King (Oracle)
2025-12-04 17:09 ` John Madieu
2025-12-04 21:07 ` Andrew Lunn
4 siblings, 1 reply; 14+ messages in thread
From: Russell King (Oracle) @ 2025-12-04 17:07 UTC (permalink / raw)
To: John Madieu
Cc: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas, biju.das.jz,
claudiu.beznea, magnus.damm, mcoquelin.stm32, alexandre.torgue,
netdev, linux-renesas-soc, devicetree
See comments on the previous posting of this patch series (why it was
reposted in as little as six minutes apart...)
netdev has a rule: allow 24 hours between re-posts.
netdev has another rule: don't post new material, except for bug fixes
for the net tree, while netdev is closed (in other words, while the
merge window is open.) If you wish to post new material, mark it RFC.
Thanks.
On Thu, Dec 04, 2025 at 04:37:26PM +0000, John Madieu wrote:
> This series adds physical port identification support to the stmmac driver,
> enabling userspace to query hardware-stable identifiers for network interfaces
> via ndo_get_phys_port_id() and ndo_get_phys_port_name().
>
> On systems with multiple ethernet controllers sharing the same driver,
> physical port identification provides stable identifiers that persist
> across reboots and are independent of interface enumeration order.
> This is particularly useful for predictable network interface naming
> and for correlating interfaces with physical connectors.
>
> The implementation follows a two-tier approach:
>
> 1. Generic stmmac support: Default implementations use the permanent MAC
> address as port ID and bus_id for port naming. This provides immediate
> benefit for all stmmac-based platforms.
>
> 2. Glue driver override: Platform drivers can provide custom callbacks
> for hardware-specific identification schemes. The Renesas GBETH driver
> implements this to support device tree-based port identification,
> addressing cases where hardware lacks unique identification registers.
>
> The Renesas implementation constructs an 8-byte port identifier from:
> - Permanent MAC address (if available) or Renesas OUI (74:90:50) as fallback
> - Port index from device tree property or ethernet alias
>
>
> John Madieu (3):
> net: stmmac: add physical port identification support
> dt-bindings: net: renesas-gbeth: Add port-id property
> net: stmmac: dwmac-renesas-gbeth: add physical port identification
>
> .../bindings/net/renesas,rzv2h-gbeth.yaml | 19 +++++++
> .../stmicro/stmmac/dwmac-renesas-gbeth.c | 56 +++++++++++++++++++
> .../net/ethernet/stmicro/stmmac/stmmac_main.c | 54 ++++++++++++++++++
> include/linux/stmmac.h | 5 ++
> 4 files changed, 134 insertions(+)
>
> --
> 2.25.1
>
>
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH net-next 0/3] net: stmmac: add physical port identification support
2025-12-04 16:40 John Madieu
2025-12-04 16:55 ` Krzysztof Kozlowski
@ 2025-12-04 17:09 ` Russell King (Oracle)
1 sibling, 0 replies; 14+ messages in thread
From: Russell King (Oracle) @ 2025-12-04 17:09 UTC (permalink / raw)
To: John Madieu
Cc: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas, biju.das.jz,
claudiu.beznea, magnus.damm, mcoquelin.stm32, alexandre.torgue,
netdev, linux-renesas-soc, devicetree
Not another bloody posting of this.
Stop it right now. Just stop.
I've reviewed your first series. You are diluting the potential reviews
of your code, making it harder for people to review and track what
people have said.
So just stop this stupid behaviour right away. Do not re-post until
after the merge window is over. Read the networking maintainence
documentation. Documentation/process/maintainer-netdev.rst
On Thu, Dec 04, 2025 at 05:40:25PM +0100, John Madieu wrote:
> This series adds physical port identification support to the stmmac driver,
> enabling userspace to query hardware-stable identifiers for network interfaces
> via ndo_get_phys_port_id() and ndo_get_phys_port_name().
>
> On systems with multiple ethernet controllers sharing the same driver,
> physical port identification provides stable identifiers that persist
> across reboots and are independent of interface enumeration order.
> This is particularly useful for predictable network interface naming
> and for correlating interfaces with physical connectors.
>
> The implementation follows a two-tier approach:
>
> 1. Generic stmmac support: Default implementations use the permanent MAC
> address as port ID and bus_id for port naming. This provides immediate
> benefit for all stmmac-based platforms.
>
> 2. Glue driver override: Platform drivers can provide custom callbacks
> for hardware-specific identification schemes. The Renesas GBETH driver
> implements this to support device tree-based port identification,
> addressing cases where hardware lacks unique identification registers.
>
> The Renesas implementation constructs an 8-byte port identifier from:
> - Permanent MAC address (if available) or Renesas OUI (74:90:50) as fallback
> - Port index from device tree property or ethernet alias
>
>
> John Madieu (3):
> net: stmmac: add physical port identification support
> dt-bindings: net: renesas-gbeth: Add port-id property
> net: stmmac: dwmac-renesas-gbeth: add physical port identification
>
> .../bindings/net/renesas,rzv2h-gbeth.yaml | 19 +++++++
> .../stmicro/stmmac/dwmac-renesas-gbeth.c | 56 +++++++++++++++++++
> .../net/ethernet/stmicro/stmmac/stmmac_main.c | 54 ++++++++++++++++++
> include/linux/stmmac.h | 5 ++
> 4 files changed, 134 insertions(+)
>
> --
> 2.25.1
>
>
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
^ permalink raw reply [flat|nested] 14+ messages in thread
* RE: [PATCH net-next 0/3] net: stmmac: add physical port identification support
2025-12-04 17:07 ` [PATCH net-next 0/3] net: stmmac: add physical port identification support Russell King (Oracle)
@ 2025-12-04 17:09 ` John Madieu
0 siblings, 0 replies; 14+ messages in thread
From: John Madieu @ 2025-12-04 17:09 UTC (permalink / raw)
To: Russell King
Cc: Prabhakar Mahadev Lad, andrew+netdev@lunn.ch, davem@davemloft.net,
edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org,
geert+renesas@glider.be, Biju Das, Claudiu.Beznea, magnus.damm,
mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com,
netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
devicetree@vger.kernel.org
Hi Russell,
> -----Original Message-----
> From: Russell King <linux@armlinux.org.uk>
> Sent: Thursday, December 4, 2025 6:07 PM
> To: John Madieu <john.madieu.xa@bp.renesas.com>
> Cc: Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@bp.renesas.com>;
> andrew+netdev@lunn.ch; davem@davemloft.net; edumazet@google.com;
> kuba@kernel.org; pabeni@redhat.com; robh@kernel.org; krzk+dt@kernel.org;
> conor+dt@kernel.org; geert+renesas@glider.be; Biju Das
> <biju.das.jz@bp.renesas.com>; Claudiu.Beznea <claudiu.beznea@tuxon.dev>;
> magnus.damm <magnus.damm@gmail.com>; mcoquelin.stm32@gmail.com;
> alexandre.torgue@foss.st.com; netdev@vger.kernel.org; linux-renesas-
> soc@vger.kernel.org; devicetree@vger.kernel.org
> Subject: Re: [PATCH net-next 0/3] net: stmmac: add physical port
> identification support
>
> See comments on the previous posting of this patch series (why it was
> reposted in as little as six minutes apart...)
>
> netdev has a rule: allow 24 hours between re-posts.
>
> netdev has another rule: don't post new material, except for bug fixes for
> the net tree, while netdev is closed (in other words, while the merge
> window is open.) If you wish to post new material, mark it RFC.
>
> Thanks.
>
Sorry for duplicated series. Something went wrong while sending out the series.
This won't happen next time.
Regards,
John
> On Thu, Dec 04, 2025 at 04:37:26PM +0000, John Madieu wrote:
> > This series adds physical port identification support to the stmmac
> > driver, enabling userspace to query hardware-stable identifiers for
> > network interfaces via ndo_get_phys_port_id() and
> ndo_get_phys_port_name().
> >
> > On systems with multiple ethernet controllers sharing the same driver,
> > physical port identification provides stable identifiers that persist
> > across reboots and are independent of interface enumeration order.
> > This is particularly useful for predictable network interface naming
> > and for correlating interfaces with physical connectors.
> >
> > The implementation follows a two-tier approach:
> >
> > 1. Generic stmmac support: Default implementations use the permanent MAC
> > address as port ID and bus_id for port naming. This provides
> immediate
> > benefit for all stmmac-based platforms.
> >
> > 2. Glue driver override: Platform drivers can provide custom callbacks
> > for hardware-specific identification schemes. The Renesas GBETH
> driver
> > implements this to support device tree-based port identification,
> > addressing cases where hardware lacks unique identification
> registers.
> >
> > The Renesas implementation constructs an 8-byte port identifier from:
> > - Permanent MAC address (if available) or Renesas OUI (74:90:50) as
> > fallback
> > - Port index from device tree property or ethernet alias
> >
> >
> > John Madieu (3):
> > net: stmmac: add physical port identification support
> > dt-bindings: net: renesas-gbeth: Add port-id property
> > net: stmmac: dwmac-renesas-gbeth: add physical port identification
> >
> > .../bindings/net/renesas,rzv2h-gbeth.yaml | 19 +++++++
> > .../stmicro/stmmac/dwmac-renesas-gbeth.c | 56 +++++++++++++++++++
> > .../net/ethernet/stmicro/stmmac/stmmac_main.c | 54 ++++++++++++++++++
> > include/linux/stmmac.h | 5 ++
> > 4 files changed, 134 insertions(+)
> >
> > --
> > 2.25.1
> >
> >
>
> --
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH net-next 0/3] net: stmmac: add physical port identification support
2025-12-04 16:37 [PATCH net-next 0/3] net: stmmac: add physical port identification support John Madieu
` (3 preceding siblings ...)
2025-12-04 17:07 ` [PATCH net-next 0/3] net: stmmac: add physical port identification support Russell King (Oracle)
@ 2025-12-04 21:07 ` Andrew Lunn
4 siblings, 0 replies; 14+ messages in thread
From: Andrew Lunn @ 2025-12-04 21:07 UTC (permalink / raw)
To: John Madieu
Cc: prabhakar.mahadev-lad.rj, andrew+netdev, davem, edumazet, kuba,
pabeni, robh, krzk+dt, conor+dt, geert+renesas, biju.das.jz,
claudiu.beznea, linux, magnus.damm, mcoquelin.stm32,
alexandre.torgue, netdev, linux-renesas-soc, devicetree
On Thu, Dec 04, 2025 at 04:37:26PM +0000, John Madieu wrote:
> This series adds physical port identification support to the stmmac driver,
> enabling userspace to query hardware-stable identifiers for network interfaces
> via ndo_get_phys_port_id() and ndo_get_phys_port_name().
>
> On systems with multiple ethernet controllers sharing the same driver,
> physical port identification provides stable identifiers that persist
> across reboots and are independent of interface enumeration order.
> This is particularly useful for predictable network interface naming
> and for correlating interfaces with physical connectors.
>
> The implementation follows a two-tier approach:
>
> 1. Generic stmmac support: Default implementations use the permanent MAC
> address as port ID and bus_id for port naming. This provides immediate
> benefit for all stmmac-based platforms.
This information is already available to user space via
sysfs. udev/systemd can use this. How does systemd currently name
these interfaces using its rules?
https://www.freedesktop.org/software/systemd/man/latest/systemd.net-naming-scheme.html
> 2. Glue driver override: Platform drivers can provide custom callbacks
> for hardware-specific identification schemes. The Renesas GBETH driver
> implements this to support device tree-based port identification,
> addressing cases where hardware lacks unique identification registers.
Why is the MAC address not sufficient? What makes Renesas GBETH
special so it needs something different?
Andrew
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH net-next 1/3] net: stmmac: add physical port identification support
2025-12-04 16:37 ` [PATCH net-next 1/3] " John Madieu
@ 2025-12-05 6:41 ` kernel test robot
2025-12-05 7:34 ` kernel test robot
1 sibling, 0 replies; 14+ messages in thread
From: kernel test robot @ 2025-12-05 6:41 UTC (permalink / raw)
To: John Madieu, prabhakar.mahadev-lad.rj, andrew+netdev, davem,
edumazet, kuba, pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: llvm, oe-kbuild-all, biju.das.jz, claudiu.beznea, linux,
magnus.damm, mcoquelin.stm32, alexandre.torgue, netdev,
linux-renesas-soc, devicetree, John Madieu
Hi John,
kernel test robot noticed the following build warnings:
[auto build test WARNING on robh/for-next]
[also build test WARNING on net/main linus/master v6.18 next-20251204]
[cannot apply to net-next/main]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/John-Madieu/dt-bindings-net-renesas-gbeth-Add-port-id-property/20251205-013825
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20251204163729.3036329-2-john.madieu.xa%40bp.renesas.com
patch subject: [PATCH net-next 1/3] net: stmmac: add physical port identification support
config: hexagon-randconfig-001-20251205 (https://download.01.org/0day-ci/archive/20251205/202512051431.9gYpDLdA-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project d8b43edf552840e59a22a7f3cc332697bd434782)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251205/202512051431.9gYpDLdA-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512051431.9gYpDLdA-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c:11:
>> include/linux/stmmac.h:273:12: warning: declaration of 'struct netdev_phys_item_id' will not be visible outside of this function [-Wvisibility]
273 | struct netdev_phys_item_id *ppid);
| ^
1 warning generated.
vim +273 include/linux/stmmac.h
188
189 struct plat_stmmacenet_data {
190 int bus_id;
191 int phy_addr;
192 /* MAC ----- optional PCS ----- SerDes ----- optional PHY ----- Media
193 * ^
194 * phy_interface
195 *
196 * The Synopsys dwmac core only covers the MAC and an optional
197 * integrated PCS. Where the integrated PCS is used with a SerDes,
198 * e.g. for 1000base-X or Cisco SGMII, the connection between the
199 * PCS and SerDes will be TBI.
200 *
201 * Where the Synopsys dwmac core has been instantiated with multiple
202 * interface modes, these are selected via core-external configuration
203 * which is sampled when the dwmac core is reset. How this is done is
204 * platform glue specific, but this defines the interface used from
205 * the Synopsys dwmac core to the rest of the SoC.
206 *
207 * Where PCS other than the optional integrated Synopsys dwmac PCS
208 * is used, this counts as "the rest of the SoC" in the above
209 * paragraph.
210 *
211 * phy_interface is the PHY-side interface - the interface used by
212 * an attached PHY or SFP etc. This is equivalent to the interface
213 * that phylink uses.
214 */
215 phy_interface_t phy_interface;
216 struct stmmac_mdio_bus_data *mdio_bus_data;
217 struct device_node *phy_node;
218 struct fwnode_handle *port_node;
219 struct device_node *mdio_node;
220 struct stmmac_dma_cfg *dma_cfg;
221 struct stmmac_safety_feature_cfg *safety_feat_cfg;
222 int clk_csr;
223 int has_gmac;
224 int enh_desc;
225 int tx_coe;
226 int rx_coe;
227 int bugged_jumbo;
228 int pmt;
229 int force_sf_dma_mode;
230 int force_thresh_dma_mode;
231 int riwt_off;
232 int max_speed;
233 int maxmtu;
234 int multicast_filter_bins;
235 int unicast_filter_entries;
236 int tx_fifo_size;
237 int rx_fifo_size;
238 u32 host_dma_width;
239 u32 rx_queues_to_use;
240 u32 tx_queues_to_use;
241 u8 rx_sched_algorithm;
242 u8 tx_sched_algorithm;
243 struct stmmac_rxq_cfg rx_queues_cfg[MTL_MAX_RX_QUEUES];
244 struct stmmac_txq_cfg tx_queues_cfg[MTL_MAX_TX_QUEUES];
245 void (*get_interfaces)(struct stmmac_priv *priv, void *bsp_priv,
246 unsigned long *interfaces);
247 int (*set_clk_tx_rate)(void *priv, struct clk *clk_tx_i,
248 phy_interface_t interface, int speed);
249 void (*fix_mac_speed)(void *priv, int speed, unsigned int mode);
250 int (*fix_soc_reset)(struct stmmac_priv *priv, void __iomem *ioaddr);
251 int (*serdes_powerup)(struct net_device *ndev, void *priv);
252 void (*serdes_powerdown)(struct net_device *ndev, void *priv);
253 int (*mac_finish)(struct net_device *ndev,
254 void *priv,
255 unsigned int mode,
256 phy_interface_t interface);
257 void (*ptp_clk_freq_config)(struct stmmac_priv *priv);
258 int (*init)(struct platform_device *pdev, void *priv);
259 void (*exit)(struct platform_device *pdev, void *priv);
260 int (*suspend)(struct device *dev, void *priv);
261 int (*resume)(struct device *dev, void *priv);
262 struct mac_device_info *(*setup)(void *priv);
263 int (*clks_config)(void *priv, bool enabled);
264 int (*crosststamp)(ktime_t *device, struct system_counterval_t *system,
265 void *ctx);
266 void (*dump_debug_regs)(void *priv);
267 int (*pcs_init)(struct stmmac_priv *priv);
268 void (*pcs_exit)(struct stmmac_priv *priv);
269 struct phylink_pcs *(*select_pcs)(struct stmmac_priv *priv,
270 phy_interface_t interface);
271 /* Physical port identification callbacks (optional, for glue driver override) */
272 int (*get_phys_port_id)(struct net_device *ndev,
> 273 struct netdev_phys_item_id *ppid);
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH net-next 1/3] net: stmmac: add physical port identification support
2025-12-04 16:37 ` [PATCH net-next 1/3] " John Madieu
2025-12-05 6:41 ` kernel test robot
@ 2025-12-05 7:34 ` kernel test robot
1 sibling, 0 replies; 14+ messages in thread
From: kernel test robot @ 2025-12-05 7:34 UTC (permalink / raw)
To: John Madieu, prabhakar.mahadev-lad.rj, andrew+netdev, davem,
edumazet, kuba, pabeni, robh, krzk+dt, conor+dt, geert+renesas
Cc: oe-kbuild-all, biju.das.jz, claudiu.beznea, linux, magnus.damm,
mcoquelin.stm32, alexandre.torgue, netdev, linux-renesas-soc,
devicetree, John Madieu
Hi John,
kernel test robot noticed the following build warnings:
[auto build test WARNING on robh/for-next]
[also build test WARNING on net/main linus/master v6.18 next-20251204]
[cannot apply to net-next/main]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/John-Madieu/dt-bindings-net-renesas-gbeth-Add-port-id-property/20251205-013825
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20251204163729.3036329-2-john.madieu.xa%40bp.renesas.com
patch subject: [PATCH net-next 1/3] net: stmmac: add physical port identification support
config: parisc-randconfig-001-20251205 (https://download.01.org/0day-ci/archive/20251205/202512051514.VMlIccSV-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251205/202512051514.VMlIccSV-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512051514.VMlIccSV-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from drivers/net/ethernet/stmicro/stmmac/norm_desc.c:11:
>> include/linux/stmmac.h:273:12: warning: 'struct netdev_phys_item_id' declared inside parameter list will not be visible outside of this definition or declaration
struct netdev_phys_item_id *ppid);
^~~~~~~~~~~~~~~~~~~
vim +273 include/linux/stmmac.h
188
189 struct plat_stmmacenet_data {
190 int bus_id;
191 int phy_addr;
192 /* MAC ----- optional PCS ----- SerDes ----- optional PHY ----- Media
193 * ^
194 * phy_interface
195 *
196 * The Synopsys dwmac core only covers the MAC and an optional
197 * integrated PCS. Where the integrated PCS is used with a SerDes,
198 * e.g. for 1000base-X or Cisco SGMII, the connection between the
199 * PCS and SerDes will be TBI.
200 *
201 * Where the Synopsys dwmac core has been instantiated with multiple
202 * interface modes, these are selected via core-external configuration
203 * which is sampled when the dwmac core is reset. How this is done is
204 * platform glue specific, but this defines the interface used from
205 * the Synopsys dwmac core to the rest of the SoC.
206 *
207 * Where PCS other than the optional integrated Synopsys dwmac PCS
208 * is used, this counts as "the rest of the SoC" in the above
209 * paragraph.
210 *
211 * phy_interface is the PHY-side interface - the interface used by
212 * an attached PHY or SFP etc. This is equivalent to the interface
213 * that phylink uses.
214 */
215 phy_interface_t phy_interface;
216 struct stmmac_mdio_bus_data *mdio_bus_data;
217 struct device_node *phy_node;
218 struct fwnode_handle *port_node;
219 struct device_node *mdio_node;
220 struct stmmac_dma_cfg *dma_cfg;
221 struct stmmac_safety_feature_cfg *safety_feat_cfg;
222 int clk_csr;
223 int has_gmac;
224 int enh_desc;
225 int tx_coe;
226 int rx_coe;
227 int bugged_jumbo;
228 int pmt;
229 int force_sf_dma_mode;
230 int force_thresh_dma_mode;
231 int riwt_off;
232 int max_speed;
233 int maxmtu;
234 int multicast_filter_bins;
235 int unicast_filter_entries;
236 int tx_fifo_size;
237 int rx_fifo_size;
238 u32 host_dma_width;
239 u32 rx_queues_to_use;
240 u32 tx_queues_to_use;
241 u8 rx_sched_algorithm;
242 u8 tx_sched_algorithm;
243 struct stmmac_rxq_cfg rx_queues_cfg[MTL_MAX_RX_QUEUES];
244 struct stmmac_txq_cfg tx_queues_cfg[MTL_MAX_TX_QUEUES];
245 void (*get_interfaces)(struct stmmac_priv *priv, void *bsp_priv,
246 unsigned long *interfaces);
247 int (*set_clk_tx_rate)(void *priv, struct clk *clk_tx_i,
248 phy_interface_t interface, int speed);
249 void (*fix_mac_speed)(void *priv, int speed, unsigned int mode);
250 int (*fix_soc_reset)(struct stmmac_priv *priv, void __iomem *ioaddr);
251 int (*serdes_powerup)(struct net_device *ndev, void *priv);
252 void (*serdes_powerdown)(struct net_device *ndev, void *priv);
253 int (*mac_finish)(struct net_device *ndev,
254 void *priv,
255 unsigned int mode,
256 phy_interface_t interface);
257 void (*ptp_clk_freq_config)(struct stmmac_priv *priv);
258 int (*init)(struct platform_device *pdev, void *priv);
259 void (*exit)(struct platform_device *pdev, void *priv);
260 int (*suspend)(struct device *dev, void *priv);
261 int (*resume)(struct device *dev, void *priv);
262 struct mac_device_info *(*setup)(void *priv);
263 int (*clks_config)(void *priv, bool enabled);
264 int (*crosststamp)(ktime_t *device, struct system_counterval_t *system,
265 void *ctx);
266 void (*dump_debug_regs)(void *priv);
267 int (*pcs_init)(struct stmmac_priv *priv);
268 void (*pcs_exit)(struct stmmac_priv *priv);
269 struct phylink_pcs *(*select_pcs)(struct stmmac_priv *priv,
270 phy_interface_t interface);
271 /* Physical port identification callbacks (optional, for glue driver override) */
272 int (*get_phys_port_id)(struct net_device *ndev,
> 273 struct netdev_phys_item_id *ppid);
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2025-12-05 7:35 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-04 16:37 [PATCH net-next 0/3] net: stmmac: add physical port identification support John Madieu
2025-12-04 16:37 ` [PATCH net-next 1/3] " John Madieu
2025-12-05 6:41 ` kernel test robot
2025-12-05 7:34 ` kernel test robot
2025-12-04 16:37 ` [PATCH net-next 2/3] dt-bindings: net: renesas-gbeth: Add port-id property John Madieu
2025-12-04 16:37 ` [PATCH net-next 3/3] net: stmmac: dwmac-renesas-gbeth: add physical port identification John Madieu
2025-12-04 17:07 ` [PATCH net-next 0/3] net: stmmac: add physical port identification support Russell King (Oracle)
2025-12-04 17:09 ` John Madieu
2025-12-04 21:07 ` Andrew Lunn
-- strict thread matches above, loose matches on Subject: below --
2025-12-04 16:40 John Madieu
2025-12-04 16:55 ` Krzysztof Kozlowski
2025-12-04 17:02 ` John Madieu
2025-12-04 17:09 ` Russell King (Oracle)
2025-12-04 16:31 John Madieu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).