All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN
@ 2017-10-25 14:02 Jose Abreu
  2017-10-25 14:04   ` Jose Abreu
                   ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-25 14:02 UTC (permalink / raw)
  To: netdev, linux-kernel, devicetree; +Cc: Jose Abreu

Hi,

This adds support for a new IP version (5) of dwmac and for
TSN features as defined by IEEE802.1Qbv-2015 and IEEE802.1Qbu.

Please review.

Best regards,
Jose Miguel Abreu

Jose Abreu (2):
  net: stmmac: Add support for DWMAC5 with TSN features
  bindings: net: stmmac: Add documentation for TSN parameters

 Documentation/devicetree/bindings/net/stmmac.txt   | 20 +++++
 drivers/net/ethernet/stmicro/stmmac/Makefile       |  2 +-
 drivers/net/ethernet/stmicro/stmmac/common.h       |  4 +
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  | 37 +++++++-
 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c   | 99 ++++++++++++++++++++++
 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h   | 57 +++++++++++++
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  4 +
 .../net/ethernet/stmicro/stmmac/stmmac_platform.c  | 57 ++++++++++++-
 include/linux/stmmac.h                             | 11 +++
 9 files changed, 288 insertions(+), 3 deletions(-)
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h

-- 
1.9.1

^ permalink raw reply	[flat|nested] 32+ messages in thread

* [PATCH net-next 1/2] net: stmmac: Add support for DWMAC5 with TSN features
@ 2017-10-25 14:04   ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-25 14:04 UTC (permalink / raw)
  To: netdev, linux-kernel, devicetree
  Cc: Jose Abreu, David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue

This adds support for IP version 5 of DWMAC. The new introduced
features are the Enhancements to Scheduled Traffic (EST) as
defined by IEEE802.1Qbv-2015 and Frame Preemption (FPE) as
defined by IEEE802.1Qbu.

In order to not break previous setups all the necessary
configuration is only performed when GMAC5 is detected and
only when all the necessary parameters are available in the
Device Tree.

EST:
The IEEE802.1Qbv-2015 defines the schedule for each of the
queues which makes the IP aware of traffic arrival time. This
information can be used to block the lower priority traffic
from transmission in this time window/slot.

FPE:
The IEEE802.1Qbu defines a mechanism which breaks interfering
frames into smaller fragments shuch that we have a more efficient
use of network bandwidth. This needs EST enabled.

Signed-off-by: Jose Abreu <joabreu@synopsys.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Joao Pinto <jpinto@synopsys.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
---
 drivers/net/ethernet/stmicro/stmmac/Makefile       |  2 +-
 drivers/net/ethernet/stmicro/stmmac/common.h       |  4 +
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  | 37 +++++++-
 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c   | 99 ++++++++++++++++++++++
 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h   | 57 +++++++++++++
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  4 +
 .../net/ethernet/stmicro/stmmac/stmmac_platform.c  | 57 ++++++++++++-
 include/linux/stmmac.h                             | 11 +++
 8 files changed, 268 insertions(+), 3 deletions(-)
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h

diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile
index 238307f..45b594e 100644
--- a/drivers/net/ethernet/stmicro/stmmac/Makefile
+++ b/drivers/net/ethernet/stmicro/stmmac/Makefile
@@ -3,7 +3,7 @@ stmmac-objs:= stmmac_main.o stmmac_ethtool.o stmmac_mdio.o ring_mode.o	\
 	      chain_mode.o dwmac_lib.o dwmac1000_core.o dwmac1000_dma.o	\
 	      dwmac100_core.o dwmac100_dma.o enh_desc.o norm_desc.o	\
 	      mmc_core.o stmmac_hwtstamp.o stmmac_ptp.o dwmac4_descs.o	\
-	      dwmac4_dma.o dwmac4_lib.o dwmac4_core.o $(stmmac-y)
+	      dwmac4_dma.o dwmac4_lib.o dwmac4_core.o dwmac5_tsn.o $(stmmac-y)
 
 # Ordering matters. Generic driver must be last.
 obj-$(CONFIG_STMMAC_PLATFORM)	+= stmmac-platform.o
diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h
index e1e5ac0..d052b9f 100644
--- a/drivers/net/ethernet/stmicro/stmmac/common.h
+++ b/drivers/net/ethernet/stmicro/stmmac/common.h
@@ -38,6 +38,7 @@
 #define	DWMAC_CORE_3_40	0x34
 #define	DWMAC_CORE_3_50	0x35
 #define	DWMAC_CORE_4_00	0x40
+#define DWMAC_CORE_5_00 0x50
 #define STMMAC_CHAN0	0	/* Always supported and default for all chips */
 
 /* These need to be power of two, and >= 4 */
@@ -501,6 +502,9 @@ struct stmmac_ops {
 	void (*config_cbs)(struct mac_device_info *hw, u32 send_slope,
 			   u32 idle_slope, u32 high_credit, u32 low_credit,
 			   u32 queue);
+	/* Configure TSN features */
+	void (*config_tsn)(struct mac_device_info *hw,
+			   struct plat_stmmacenet_data *plat);
 	/* Dump MAC registers */
 	void (*dump_regs)(struct mac_device_info *hw, u32 *reg_space);
 	/* Handle extra events on specific interrupts hw dependent */
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
index 2f7d7ec..54370da 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
@@ -19,6 +19,7 @@
 #include <linux/io.h>
 #include "stmmac_pcs.h"
 #include "dwmac4.h"
+#include "dwmac5_tsn.h"
 
 static void dwmac4_core_init(struct mac_device_info *hw, int mtu)
 {
@@ -738,6 +739,38 @@ static void dwmac4_debug(void __iomem *ioaddr, struct stmmac_extra_stats *x,
 	.set_filter = dwmac4_set_filter,
 };
 
+static const struct stmmac_ops dwmac5_ops = {
+	.core_init = dwmac4_core_init,
+	.set_mac = stmmac_dwmac4_set_mac,
+	.rx_ipc = dwmac4_rx_ipc_enable,
+	.rx_queue_enable = dwmac4_rx_queue_enable,
+	.rx_queue_prio = dwmac4_rx_queue_priority,
+	.tx_queue_prio = dwmac4_tx_queue_priority,
+	.rx_queue_routing = dwmac4_tx_queue_routing,
+	.prog_mtl_rx_algorithms = dwmac4_prog_mtl_rx_algorithms,
+	.prog_mtl_tx_algorithms = dwmac4_prog_mtl_tx_algorithms,
+	.set_mtl_tx_queue_weight = dwmac4_set_mtl_tx_queue_weight,
+	.map_mtl_to_dma = dwmac4_map_mtl_dma,
+	.config_cbs = dwmac4_config_cbs,
+	.config_tsn = dwmac5_config_tsn,
+	.dump_regs = dwmac4_dump_regs,
+	.host_irq_status = dwmac4_irq_status,
+	.host_mtl_irq_status = dwmac4_irq_mtl_status,
+	.flow_ctrl = dwmac4_flow_ctrl,
+	.pmt = dwmac4_pmt,
+	.set_umac_addr = dwmac4_set_umac_addr,
+	.get_umac_addr = dwmac4_get_umac_addr,
+	.set_eee_mode = dwmac4_set_eee_mode,
+	.reset_eee_mode = dwmac4_reset_eee_mode,
+	.set_eee_timer = dwmac4_set_eee_timer,
+	.set_eee_pls = dwmac4_set_eee_pls,
+	.pcs_ctrl_ane = dwmac4_ctrl_ane,
+	.pcs_rane = dwmac4_rane,
+	.pcs_get_adv_lp = dwmac4_get_adv_lp,
+	.debug = dwmac4_debug,
+	.set_filter = dwmac4_set_filter,
+};
+
 struct mac_device_info *dwmac4_setup(void __iomem *ioaddr, int mcbins,
 				     int perfect_uc_entries, int *synopsys_id)
 {
@@ -778,7 +811,9 @@ struct mac_device_info *dwmac4_setup(void __iomem *ioaddr, int mcbins,
 	else
 		mac->dma = &dwmac4_dma_ops;
 
-	if (*synopsys_id >= DWMAC_CORE_4_00)
+	if (*synopsys_id >= DWMAC_CORE_5_00)
+		mac->mac = &dwmac5_ops;
+	else if (*synopsys_id >= DWMAC_CORE_4_00)
 		mac->mac = &dwmac410_ops;
 	else
 		mac->mac = &dwmac4_ops;
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c b/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
new file mode 100644
index 0000000..fa1d506
--- /dev/null
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
@@ -0,0 +1,99 @@
+/*
+ * DWMAC5 TSN Core Functions
+ * Copyright (C) 2017 Synopsys, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * Author: Jose Abreu <joabreu@synopsys.com>
+ */
+
+#include "common.h"
+#include "dwmac5_tsn.h"
+
+static int dwmac5_est_write(void __iomem *ioaddr, u32 reg, u32 val, bool gcla)
+{
+	int timeout_ms = EST_WRITE_TIMEOUT_MS;
+	u32 ctrl = 0x0;
+
+	writel(val, ioaddr + MTL_EST_GCL_DATA);
+
+	ctrl |= reg;
+	ctrl |= gcla ? 0x0 : MTL_EST_GCRR;
+	writel(ctrl, ioaddr + MTL_EST_GCL_CONTROL);
+
+	ctrl |= MTL_EST_SRWO;
+	writel(ctrl, ioaddr + MTL_EST_GCL_CONTROL);
+
+	while (--timeout_ms) {
+		udelay(1000);
+		if (readl(ioaddr + MTL_EST_GCL_CONTROL) & MTL_EST_SRWO)
+			continue;
+		break;
+	}
+
+	if (!timeout_ms)
+		return -ETIMEDOUT;
+	return 0;
+}
+
+static void dwmac5_config_est(struct mac_device_info *hw,
+			      struct plat_stmmacenet_data *plat)
+{
+	struct stmmac_est_cfg *est = &plat->est_cfg;
+	void __iomem *ioaddr = hw->pcsr;
+	u32 ctrl = 0x0, btr[2];
+	struct timespec64 now;
+	int i;
+
+	/* Add real time to offset */
+	ktime_get_real_ts64(&now);
+	btr[0] = (u32)now.tv_nsec + est->btr[0];
+	btr[1] = (u32)now.tv_sec + est->btr[1];
+
+	/* Write parameters */
+	dwmac5_est_write(ioaddr, MTL_EST_BTR_LOW, btr[0], false);
+	dwmac5_est_write(ioaddr, MTL_EST_BTR_HIGH, btr[1], false);
+	dwmac5_est_write(ioaddr, MTL_EST_CTR_LOW, est->ctr[0], false);
+	dwmac5_est_write(ioaddr, MTL_EST_CTR_HIGH, est->ctr[1], false);
+	dwmac5_est_write(ioaddr, MTL_EST_TER, est->ter, false);
+	dwmac5_est_write(ioaddr, MTL_EST_LLR, est->llr, false);
+
+	/* Write GCL table */
+	for (i = 0; i < est->llr; i++) {
+		u32 reg = (i << MTL_EST_ADDR_SHIFT) & MTL_EST_ADDR;
+		dwmac5_est_write(ioaddr, reg, est->gcl[i], true);
+	}
+
+	/* Enable EST */
+	ctrl |= MTL_EST_EEST;
+	writel(ctrl, ioaddr + MTL_EST_CONTROL);
+
+	/* Store table */
+	ctrl |= MTL_EST_SSWL;
+	writel(ctrl, ioaddr + MTL_EST_CONTROL);
+}
+
+void dwmac5_config_fp(struct mac_device_info *hw)
+{
+	void __iomem *ioaddr = hw->pcsr;
+	u32 ctrl;
+
+	/* Enable frame preemption */
+	ctrl = readl(ioaddr + GMAC_FPE_CTRL_STS);
+	ctrl |= GMAC_FPE_EFPE;
+	writel(ctrl, ioaddr + GMAC_FPE_CTRL_STS);
+}
+
+void dwmac5_config_tsn(struct mac_device_info *hw,
+		       struct plat_stmmacenet_data *plat)
+{
+	void __iomem *ioaddr = hw->pcsr;
+	u32 value = readl(ioaddr + GMAC_HW_FEATURE3);
+
+	if ((value & GMAC_HW_FEAT_ESTSEL) && plat->est_en)
+		dwmac5_config_est(hw, plat);
+	if ((value & GMAC_HW_FEAT_FPESEL) && plat->fp_en)
+		dwmac5_config_fp(hw);
+}
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h b/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h
new file mode 100644
index 0000000..07bda8b
--- /dev/null
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h
@@ -0,0 +1,57 @@
+/*
+ * DWMAC5 TSN Header File
+ * Copyright (C) 2017 Synopsys, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * Author: Jose Abreu <joabreu@synopsys.com>
+ */
+
+#ifndef __DWMAC5_TSN_H__
+#define __DWMAC5_TSN_H__
+
+#include <linux/stmmac.h>
+
+/* MAC registers */
+#define GMAC_HW_FEATURE3		0x00000128
+#define GMAC_FPE_CTRL_STS		0x00000234
+
+/* MAC HW features3 bitmap */
+#define GMAC_HW_FEAT_FPESEL		BIT(26)
+#define GMAC_HW_FEAT_ESTSEL		BIT(16)
+
+/* MAC FPE control/status bitmap */
+#define GMAC_FPE_EFPE			BIT(0)
+
+/* MTL registers */
+#define MTL_EST_CONTROL			0x00000c50
+#define MTL_EST_GCL_CONTROL		0x00000c80
+#define MTL_EST_GCL_DATA		0x00000c84
+
+/* EST control bitmap */
+#define MTL_EST_EEST			BIT(0)
+#define MTL_EST_SSWL			BIT(1)
+
+/* EST GCL control bitmap */
+#define MTL_EST_ADDR_SHIFT		8
+#define MTL_EST_ADDR			GENMASK(19, 8)
+#define MTL_EST_GCRR			BIT(2)
+#define MTL_EST_SRWO			BIT(0)
+
+/* EST GCRA addresses */
+#define MTL_EST_BTR_LOW			(0x0 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_BTR_HIGH		(0x1 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_CTR_LOW			(0x2 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_CTR_HIGH		(0x3 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_TER			(0x4 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_LLR			(0x5 << MTL_EST_ADDR_SHIFT)
+
+/* Misc */
+#define EST_WRITE_TIMEOUT_MS		5
+
+void dwmac5_config_tsn(struct mac_device_info *hw,
+		       struct plat_stmmacenet_data *plat);
+
+#endif /* __DWMAC5_TSN_H__ */
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index c7a894e..24861e2 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2418,6 +2418,10 @@ static void stmmac_mtl_configuration(struct stmmac_priv *priv)
 	if (tx_queues_count > 1 && priv->hw->mac->config_cbs)
 		stmmac_configure_cbs(priv);
 
+	/* Configure TSN features */
+	if (tx_queues_count > 1 && priv->hw->mac->config_tsn)
+		priv->hw->mac->config_tsn(priv->hw, priv->plat);
+
 	/* Map RX MTL to DMA channels */
 	if (priv->hw->mac->map_mtl_to_dma)
 		stmmac_rx_queue_dma_chan_map(priv);
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index 8a280b4..21f59fe 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -280,6 +280,59 @@ static void stmmac_mtl_setup(struct platform_device *pdev,
 	of_node_put(q_node);
 }
 
+static int stmmac_est_setup(struct device_node *node,
+			    struct platform_device *pdev,
+			    struct plat_stmmacenet_data *plat)
+{
+	struct stmmac_est_cfg *est = &plat->est_cfg;
+	int ret;
+
+	if (of_property_read_u32_array(node, "snps,btr", est->btr, 2))
+		return -EINVAL;
+	if (of_property_read_u32_array(node, "snps,ctr", est->ctr, 2))
+		return -EINVAL;
+	if (of_property_read_u32(node, "snps,ter", &est->ter))
+		return -EINVAL;
+	
+	est->llr = of_property_count_u32_elems(node, "snps,gcl");
+	if (!est->llr)
+		return -EINVAL;
+
+	est->gcl = devm_kzalloc(&pdev->dev, sizeof(*est->gcl) * est->llr,
+			GFP_KERNEL);
+	if (!est->gcl)
+		return -ENOMEM;
+
+	ret = of_property_read_u32_array(node, "snps,gcl", est->gcl, est->llr);
+	if (ret)
+		return ret;
+
+	return 0;
+}
+
+static void stmmac_tsn_setup(struct platform_device *pdev,
+			     struct plat_stmmacenet_data *plat)
+{
+	struct device_node *node;
+
+	node = of_parse_phandle(pdev->dev.of_node, "snps,tsn-config", 0);
+	if (!node)
+		return;
+
+	/* Parse EST values, if a property is missing EST is disabled */
+	plat->est_en = of_property_read_bool(node, "snps,est");
+	if (plat->est_en && stmmac_est_setup(node, pdev, plat)) {
+		pr_warn("Disabling EST because of bad DT parameters.");
+		plat->est_en = false;
+	}
+
+	/* FP needs EST enabled */
+	if (plat->est_en)
+		plat->fp_en = of_property_read_bool(node, "snps,fp");
+
+	of_node_put(node);
+}
+
 /**
  * stmmac_dt_phy - parse device-tree driver parameters to allocate PHY resources
  * @plat: driver data platform structure
@@ -453,7 +506,8 @@ struct plat_stmmacenet_data *
 	}
 
 	if (of_device_is_compatible(np, "snps,dwmac-4.00") ||
-	    of_device_is_compatible(np, "snps,dwmac-4.10a")) {
+	    of_device_is_compatible(np, "snps,dwmac-4.10a") ||
+	    of_device_is_compatible(np, "snps,dwmac-5.00")) {
 		plat->has_gmac4 = 1;
 		plat->has_gmac = 0;
 		plat->pmt = 1;
@@ -497,6 +551,7 @@ struct plat_stmmacenet_data *
 	plat->axi = stmmac_axi_setup(pdev);
 
 	stmmac_mtl_setup(pdev, plat);
+	stmmac_tsn_setup(pdev, plat);
 
 	/* clock setup */
 	plat->stmmac_clk = devm_clk_get(&pdev->dev,
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index 108739f..9b9a102 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -144,6 +144,14 @@ struct stmmac_txq_cfg {
 	u32 prio;
 };
 
+struct stmmac_est_cfg {
+	u32 btr[2];
+	u32 ctr[2];
+	u32 ter;
+	u32 llr;
+	u32 *gcl;
+};
+
 struct plat_stmmacenet_data {
 	int bus_id;
 	int phy_addr;
@@ -190,5 +198,8 @@ struct plat_stmmacenet_data {
 	bool tso_en;
 	int mac_port_sel_speed;
 	bool en_tx_lpi_clockgating;
+	bool est_en;
+	struct stmmac_est_cfg est_cfg;
+	bool fp_en;
 };
 #endif
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH net-next 1/2] net: stmmac: Add support for DWMAC5 with TSN features
@ 2017-10-25 14:04   ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-25 14:04 UTC (permalink / raw)
  To: netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: Jose Abreu, David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue

This adds support for IP version 5 of DWMAC. The new introduced
features are the Enhancements to Scheduled Traffic (EST) as
defined by IEEE802.1Qbv-2015 and Frame Preemption (FPE) as
defined by IEEE802.1Qbu.

In order to not break previous setups all the necessary
configuration is only performed when GMAC5 is detected and
only when all the necessary parameters are available in the
Device Tree.

EST:
The IEEE802.1Qbv-2015 defines the schedule for each of the
queues which makes the IP aware of traffic arrival time. This
information can be used to block the lower priority traffic
from transmission in this time window/slot.

FPE:
The IEEE802.1Qbu defines a mechanism which breaks interfering
frames into smaller fragments shuch that we have a more efficient
use of network bandwidth. This needs EST enabled.

Signed-off-by: Jose Abreu <joabreu-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
Cc: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Cc: Joao Pinto <jpinto-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
Cc: Giuseppe Cavallaro <peppe.cavallaro-qxv4g6HH51o@public.gmane.org>
Cc: Alexandre Torgue <alexandre.torgue-qxv4g6HH51o@public.gmane.org>
---
 drivers/net/ethernet/stmicro/stmmac/Makefile       |  2 +-
 drivers/net/ethernet/stmicro/stmmac/common.h       |  4 +
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  | 37 +++++++-
 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c   | 99 ++++++++++++++++++++++
 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h   | 57 +++++++++++++
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  4 +
 .../net/ethernet/stmicro/stmmac/stmmac_platform.c  | 57 ++++++++++++-
 include/linux/stmmac.h                             | 11 +++
 8 files changed, 268 insertions(+), 3 deletions(-)
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h

diff --git a/drivers/net/ethernet/stmicro/stmmac/Makefile b/drivers/net/ethernet/stmicro/stmmac/Makefile
index 238307f..45b594e 100644
--- a/drivers/net/ethernet/stmicro/stmmac/Makefile
+++ b/drivers/net/ethernet/stmicro/stmmac/Makefile
@@ -3,7 +3,7 @@ stmmac-objs:= stmmac_main.o stmmac_ethtool.o stmmac_mdio.o ring_mode.o	\
 	      chain_mode.o dwmac_lib.o dwmac1000_core.o dwmac1000_dma.o	\
 	      dwmac100_core.o dwmac100_dma.o enh_desc.o norm_desc.o	\
 	      mmc_core.o stmmac_hwtstamp.o stmmac_ptp.o dwmac4_descs.o	\
-	      dwmac4_dma.o dwmac4_lib.o dwmac4_core.o $(stmmac-y)
+	      dwmac4_dma.o dwmac4_lib.o dwmac4_core.o dwmac5_tsn.o $(stmmac-y)
 
 # Ordering matters. Generic driver must be last.
 obj-$(CONFIG_STMMAC_PLATFORM)	+= stmmac-platform.o
diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/ethernet/stmicro/stmmac/common.h
index e1e5ac0..d052b9f 100644
--- a/drivers/net/ethernet/stmicro/stmmac/common.h
+++ b/drivers/net/ethernet/stmicro/stmmac/common.h
@@ -38,6 +38,7 @@
 #define	DWMAC_CORE_3_40	0x34
 #define	DWMAC_CORE_3_50	0x35
 #define	DWMAC_CORE_4_00	0x40
+#define DWMAC_CORE_5_00 0x50
 #define STMMAC_CHAN0	0	/* Always supported and default for all chips */
 
 /* These need to be power of two, and >= 4 */
@@ -501,6 +502,9 @@ struct stmmac_ops {
 	void (*config_cbs)(struct mac_device_info *hw, u32 send_slope,
 			   u32 idle_slope, u32 high_credit, u32 low_credit,
 			   u32 queue);
+	/* Configure TSN features */
+	void (*config_tsn)(struct mac_device_info *hw,
+			   struct plat_stmmacenet_data *plat);
 	/* Dump MAC registers */
 	void (*dump_regs)(struct mac_device_info *hw, u32 *reg_space);
 	/* Handle extra events on specific interrupts hw dependent */
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
index 2f7d7ec..54370da 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
@@ -19,6 +19,7 @@
 #include <linux/io.h>
 #include "stmmac_pcs.h"
 #include "dwmac4.h"
+#include "dwmac5_tsn.h"
 
 static void dwmac4_core_init(struct mac_device_info *hw, int mtu)
 {
@@ -738,6 +739,38 @@ static void dwmac4_debug(void __iomem *ioaddr, struct stmmac_extra_stats *x,
 	.set_filter = dwmac4_set_filter,
 };
 
+static const struct stmmac_ops dwmac5_ops = {
+	.core_init = dwmac4_core_init,
+	.set_mac = stmmac_dwmac4_set_mac,
+	.rx_ipc = dwmac4_rx_ipc_enable,
+	.rx_queue_enable = dwmac4_rx_queue_enable,
+	.rx_queue_prio = dwmac4_rx_queue_priority,
+	.tx_queue_prio = dwmac4_tx_queue_priority,
+	.rx_queue_routing = dwmac4_tx_queue_routing,
+	.prog_mtl_rx_algorithms = dwmac4_prog_mtl_rx_algorithms,
+	.prog_mtl_tx_algorithms = dwmac4_prog_mtl_tx_algorithms,
+	.set_mtl_tx_queue_weight = dwmac4_set_mtl_tx_queue_weight,
+	.map_mtl_to_dma = dwmac4_map_mtl_dma,
+	.config_cbs = dwmac4_config_cbs,
+	.config_tsn = dwmac5_config_tsn,
+	.dump_regs = dwmac4_dump_regs,
+	.host_irq_status = dwmac4_irq_status,
+	.host_mtl_irq_status = dwmac4_irq_mtl_status,
+	.flow_ctrl = dwmac4_flow_ctrl,
+	.pmt = dwmac4_pmt,
+	.set_umac_addr = dwmac4_set_umac_addr,
+	.get_umac_addr = dwmac4_get_umac_addr,
+	.set_eee_mode = dwmac4_set_eee_mode,
+	.reset_eee_mode = dwmac4_reset_eee_mode,
+	.set_eee_timer = dwmac4_set_eee_timer,
+	.set_eee_pls = dwmac4_set_eee_pls,
+	.pcs_ctrl_ane = dwmac4_ctrl_ane,
+	.pcs_rane = dwmac4_rane,
+	.pcs_get_adv_lp = dwmac4_get_adv_lp,
+	.debug = dwmac4_debug,
+	.set_filter = dwmac4_set_filter,
+};
+
 struct mac_device_info *dwmac4_setup(void __iomem *ioaddr, int mcbins,
 				     int perfect_uc_entries, int *synopsys_id)
 {
@@ -778,7 +811,9 @@ struct mac_device_info *dwmac4_setup(void __iomem *ioaddr, int mcbins,
 	else
 		mac->dma = &dwmac4_dma_ops;
 
-	if (*synopsys_id >= DWMAC_CORE_4_00)
+	if (*synopsys_id >= DWMAC_CORE_5_00)
+		mac->mac = &dwmac5_ops;
+	else if (*synopsys_id >= DWMAC_CORE_4_00)
 		mac->mac = &dwmac410_ops;
 	else
 		mac->mac = &dwmac4_ops;
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c b/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
new file mode 100644
index 0000000..fa1d506
--- /dev/null
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
@@ -0,0 +1,99 @@
+/*
+ * DWMAC5 TSN Core Functions
+ * Copyright (C) 2017 Synopsys, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * Author: Jose Abreu <joabreu-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
+ */
+
+#include "common.h"
+#include "dwmac5_tsn.h"
+
+static int dwmac5_est_write(void __iomem *ioaddr, u32 reg, u32 val, bool gcla)
+{
+	int timeout_ms = EST_WRITE_TIMEOUT_MS;
+	u32 ctrl = 0x0;
+
+	writel(val, ioaddr + MTL_EST_GCL_DATA);
+
+	ctrl |= reg;
+	ctrl |= gcla ? 0x0 : MTL_EST_GCRR;
+	writel(ctrl, ioaddr + MTL_EST_GCL_CONTROL);
+
+	ctrl |= MTL_EST_SRWO;
+	writel(ctrl, ioaddr + MTL_EST_GCL_CONTROL);
+
+	while (--timeout_ms) {
+		udelay(1000);
+		if (readl(ioaddr + MTL_EST_GCL_CONTROL) & MTL_EST_SRWO)
+			continue;
+		break;
+	}
+
+	if (!timeout_ms)
+		return -ETIMEDOUT;
+	return 0;
+}
+
+static void dwmac5_config_est(struct mac_device_info *hw,
+			      struct plat_stmmacenet_data *plat)
+{
+	struct stmmac_est_cfg *est = &plat->est_cfg;
+	void __iomem *ioaddr = hw->pcsr;
+	u32 ctrl = 0x0, btr[2];
+	struct timespec64 now;
+	int i;
+
+	/* Add real time to offset */
+	ktime_get_real_ts64(&now);
+	btr[0] = (u32)now.tv_nsec + est->btr[0];
+	btr[1] = (u32)now.tv_sec + est->btr[1];
+
+	/* Write parameters */
+	dwmac5_est_write(ioaddr, MTL_EST_BTR_LOW, btr[0], false);
+	dwmac5_est_write(ioaddr, MTL_EST_BTR_HIGH, btr[1], false);
+	dwmac5_est_write(ioaddr, MTL_EST_CTR_LOW, est->ctr[0], false);
+	dwmac5_est_write(ioaddr, MTL_EST_CTR_HIGH, est->ctr[1], false);
+	dwmac5_est_write(ioaddr, MTL_EST_TER, est->ter, false);
+	dwmac5_est_write(ioaddr, MTL_EST_LLR, est->llr, false);
+
+	/* Write GCL table */
+	for (i = 0; i < est->llr; i++) {
+		u32 reg = (i << MTL_EST_ADDR_SHIFT) & MTL_EST_ADDR;
+		dwmac5_est_write(ioaddr, reg, est->gcl[i], true);
+	}
+
+	/* Enable EST */
+	ctrl |= MTL_EST_EEST;
+	writel(ctrl, ioaddr + MTL_EST_CONTROL);
+
+	/* Store table */
+	ctrl |= MTL_EST_SSWL;
+	writel(ctrl, ioaddr + MTL_EST_CONTROL);
+}
+
+void dwmac5_config_fp(struct mac_device_info *hw)
+{
+	void __iomem *ioaddr = hw->pcsr;
+	u32 ctrl;
+
+	/* Enable frame preemption */
+	ctrl = readl(ioaddr + GMAC_FPE_CTRL_STS);
+	ctrl |= GMAC_FPE_EFPE;
+	writel(ctrl, ioaddr + GMAC_FPE_CTRL_STS);
+}
+
+void dwmac5_config_tsn(struct mac_device_info *hw,
+		       struct plat_stmmacenet_data *plat)
+{
+	void __iomem *ioaddr = hw->pcsr;
+	u32 value = readl(ioaddr + GMAC_HW_FEATURE3);
+
+	if ((value & GMAC_HW_FEAT_ESTSEL) && plat->est_en)
+		dwmac5_config_est(hw, plat);
+	if ((value & GMAC_HW_FEAT_FPESEL) && plat->fp_en)
+		dwmac5_config_fp(hw);
+}
diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h b/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h
new file mode 100644
index 0000000..07bda8b
--- /dev/null
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h
@@ -0,0 +1,57 @@
+/*
+ * DWMAC5 TSN Header File
+ * Copyright (C) 2017 Synopsys, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * Author: Jose Abreu <joabreu-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
+ */
+
+#ifndef __DWMAC5_TSN_H__
+#define __DWMAC5_TSN_H__
+
+#include <linux/stmmac.h>
+
+/* MAC registers */
+#define GMAC_HW_FEATURE3		0x00000128
+#define GMAC_FPE_CTRL_STS		0x00000234
+
+/* MAC HW features3 bitmap */
+#define GMAC_HW_FEAT_FPESEL		BIT(26)
+#define GMAC_HW_FEAT_ESTSEL		BIT(16)
+
+/* MAC FPE control/status bitmap */
+#define GMAC_FPE_EFPE			BIT(0)
+
+/* MTL registers */
+#define MTL_EST_CONTROL			0x00000c50
+#define MTL_EST_GCL_CONTROL		0x00000c80
+#define MTL_EST_GCL_DATA		0x00000c84
+
+/* EST control bitmap */
+#define MTL_EST_EEST			BIT(0)
+#define MTL_EST_SSWL			BIT(1)
+
+/* EST GCL control bitmap */
+#define MTL_EST_ADDR_SHIFT		8
+#define MTL_EST_ADDR			GENMASK(19, 8)
+#define MTL_EST_GCRR			BIT(2)
+#define MTL_EST_SRWO			BIT(0)
+
+/* EST GCRA addresses */
+#define MTL_EST_BTR_LOW			(0x0 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_BTR_HIGH		(0x1 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_CTR_LOW			(0x2 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_CTR_HIGH		(0x3 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_TER			(0x4 << MTL_EST_ADDR_SHIFT)
+#define MTL_EST_LLR			(0x5 << MTL_EST_ADDR_SHIFT)
+
+/* Misc */
+#define EST_WRITE_TIMEOUT_MS		5
+
+void dwmac5_config_tsn(struct mac_device_info *hw,
+		       struct plat_stmmacenet_data *plat);
+
+#endif /* __DWMAC5_TSN_H__ */
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index c7a894e..24861e2 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -2418,6 +2418,10 @@ static void stmmac_mtl_configuration(struct stmmac_priv *priv)
 	if (tx_queues_count > 1 && priv->hw->mac->config_cbs)
 		stmmac_configure_cbs(priv);
 
+	/* Configure TSN features */
+	if (tx_queues_count > 1 && priv->hw->mac->config_tsn)
+		priv->hw->mac->config_tsn(priv->hw, priv->plat);
+
 	/* Map RX MTL to DMA channels */
 	if (priv->hw->mac->map_mtl_to_dma)
 		stmmac_rx_queue_dma_chan_map(priv);
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
index 8a280b4..21f59fe 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
@@ -280,6 +280,59 @@ static void stmmac_mtl_setup(struct platform_device *pdev,
 	of_node_put(q_node);
 }
 
+static int stmmac_est_setup(struct device_node *node,
+			    struct platform_device *pdev,
+			    struct plat_stmmacenet_data *plat)
+{
+	struct stmmac_est_cfg *est = &plat->est_cfg;
+	int ret;
+
+	if (of_property_read_u32_array(node, "snps,btr", est->btr, 2))
+		return -EINVAL;
+	if (of_property_read_u32_array(node, "snps,ctr", est->ctr, 2))
+		return -EINVAL;
+	if (of_property_read_u32(node, "snps,ter", &est->ter))
+		return -EINVAL;
+	
+	est->llr = of_property_count_u32_elems(node, "snps,gcl");
+	if (!est->llr)
+		return -EINVAL;
+
+	est->gcl = devm_kzalloc(&pdev->dev, sizeof(*est->gcl) * est->llr,
+			GFP_KERNEL);
+	if (!est->gcl)
+		return -ENOMEM;
+
+	ret = of_property_read_u32_array(node, "snps,gcl", est->gcl, est->llr);
+	if (ret)
+		return ret;
+
+	return 0;
+}
+
+static void stmmac_tsn_setup(struct platform_device *pdev,
+			     struct plat_stmmacenet_data *plat)
+{
+	struct device_node *node;
+
+	node = of_parse_phandle(pdev->dev.of_node, "snps,tsn-config", 0);
+	if (!node)
+		return;
+
+	/* Parse EST values, if a property is missing EST is disabled */
+	plat->est_en = of_property_read_bool(node, "snps,est");
+	if (plat->est_en && stmmac_est_setup(node, pdev, plat)) {
+		pr_warn("Disabling EST because of bad DT parameters.");
+		plat->est_en = false;
+	}
+
+	/* FP needs EST enabled */
+	if (plat->est_en)
+		plat->fp_en = of_property_read_bool(node, "snps,fp");
+
+	of_node_put(node);
+}
+
 /**
  * stmmac_dt_phy - parse device-tree driver parameters to allocate PHY resources
  * @plat: driver data platform structure
@@ -453,7 +506,8 @@ struct plat_stmmacenet_data *
 	}
 
 	if (of_device_is_compatible(np, "snps,dwmac-4.00") ||
-	    of_device_is_compatible(np, "snps,dwmac-4.10a")) {
+	    of_device_is_compatible(np, "snps,dwmac-4.10a") ||
+	    of_device_is_compatible(np, "snps,dwmac-5.00")) {
 		plat->has_gmac4 = 1;
 		plat->has_gmac = 0;
 		plat->pmt = 1;
@@ -497,6 +551,7 @@ struct plat_stmmacenet_data *
 	plat->axi = stmmac_axi_setup(pdev);
 
 	stmmac_mtl_setup(pdev, plat);
+	stmmac_tsn_setup(pdev, plat);
 
 	/* clock setup */
 	plat->stmmac_clk = devm_clk_get(&pdev->dev,
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index 108739f..9b9a102 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -144,6 +144,14 @@ struct stmmac_txq_cfg {
 	u32 prio;
 };
 
+struct stmmac_est_cfg {
+	u32 btr[2];
+	u32 ctr[2];
+	u32 ter;
+	u32 llr;
+	u32 *gcl;
+};
+
 struct plat_stmmacenet_data {
 	int bus_id;
 	int phy_addr;
@@ -190,5 +198,8 @@ struct plat_stmmacenet_data {
 	bool tso_en;
 	int mac_port_sel_speed;
 	bool en_tx_lpi_clockgating;
+	bool est_en;
+	struct stmmac_est_cfg est_cfg;
+	bool fp_en;
 };
 #endif
-- 
1.9.1


--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 32+ messages in thread

* [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
  2017-10-25 14:02 [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN Jose Abreu
  2017-10-25 14:04   ` Jose Abreu
@ 2017-10-25 14:04 ` Jose Abreu
  2017-10-25 19:34     ` Florian Fainelli
  2017-10-26 16:28 ` [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN Jesus Sanchez-Palencia
  2 siblings, 1 reply; 32+ messages in thread
From: Jose Abreu @ 2017-10-25 14:04 UTC (permalink / raw)
  To: netdev, linux-kernel, devicetree
  Cc: Jose Abreu, David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

This adds the documentation for TSN feature EST and FP.

Signed-off-by: Jose Abreu <joabreu@synopsys.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Joao Pinto <jpinto@synopsys.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Rob Herring <robh+dt@kernel.org>
---
 Documentation/devicetree/bindings/net/stmmac.txt | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
index c3a7be6..6359df6 100644
--- a/Documentation/devicetree/bindings/net/stmmac.txt
+++ b/Documentation/devicetree/bindings/net/stmmac.txt
@@ -114,6 +114,16 @@ Optional properties:
 			- snps,high_credit: max write outstanding req. limit
 			- snps,low_credit: max read outstanding req. limit
 		- snps,priority: TX queue priority (Range: 0x0 to 0xF)
+- TSN parameters: below the list of all the parameters to configure TSN
+		  features (only applicable for IP version >= 5.00)
+	- snps,est: Enable EST algorithm
+	- If EST enabled provide these parameters:
+		- snps,btr: Array size of 2 with BTR value for EST algorithm
+		- snps,ctr: Array size of 2 with CTR value for EST algorithm
+		- snps,ter: TER value for EST algorithm
+		- snps,gcl: Variable size array with GCL table entries.
+	- snps,fp: Enable FP feature. This needs EST enabled.
+
 Examples:
 
 	stmmac_axi_setup: stmmac-axi-config {
@@ -151,6 +161,15 @@ Examples:
 		};
 	};
 
+	tsn_setup: tsn-config {
+		snps,est;
+		snps,btr = <0x00000000 0x00000001>;
+		snps,ctr = <0x00000000 0x10000000>;
+		snps,ter = <0x00000000>;
+		snps,gcl = <0x00000001 0x00000002 0x00000003>;
+		snps,fp;
+	};
+
 	gmac0: ethernet@e0800000 {
 		compatible = "st,spear600-gmac";
 		reg = <0xe0800000 0x8000>;
@@ -176,4 +195,5 @@ Examples:
 		};
 		snps,mtl-rx-config = <&mtl_rx_setup>;
 		snps,mtl-tx-config = <&mtl_tx_setup>;
+		snps,tsn-config = <&tsn_setup>;
 	};
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-25 19:34     ` Florian Fainelli
  0 siblings, 0 replies; 32+ messages in thread
From: Florian Fainelli @ 2017-10-25 19:34 UTC (permalink / raw)
  To: Jose Abreu, netdev, linux-kernel, devicetree
  Cc: David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

On 10/25/2017 07:04 AM, Jose Abreu wrote:
> This adds the documentation for TSN feature EST and FP.
> 
> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: Joao Pinto <jpinto@synopsys.com>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> Cc: Alexandre Torgue <alexandre.torgue@st.com>
> Cc: Rob Herring <robh+dt@kernel.org>
> ---
>  Documentation/devicetree/bindings/net/stmmac.txt | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
> index c3a7be6..6359df6 100644
> --- a/Documentation/devicetree/bindings/net/stmmac.txt
> +++ b/Documentation/devicetree/bindings/net/stmmac.txt
> @@ -114,6 +114,16 @@ Optional properties:
>  			- snps,high_credit: max write outstanding req. limit
>  			- snps,low_credit: max read outstanding req. limit
>  		- snps,priority: TX queue priority (Range: 0x0 to 0xF)
> +- TSN parameters: below the list of all the parameters to configure TSN
> +		  features (only applicable for IP version >= 5.00)
> +	- snps,est: Enable EST algorithm
> +	- If EST enabled provide these parameters:
> +		- snps,btr: Array size of 2 with BTR value for EST algorithm
> +		- snps,ctr: Array size of 2 with CTR value for EST algorithm
> +		- snps,ter: TER value for EST algorithm
> +		- snps,gcl: Variable size array with GCL table entries.
> +	- snps,fp: Enable FP feature. This needs EST enabled.

You are using Device Tree as a configuration interface, that does not
sound right at all.

> +
>  Examples:
>  
>  	stmmac_axi_setup: stmmac-axi-config {
> @@ -151,6 +161,15 @@ Examples:
>  		};
>  	};
>  
> +	tsn_setup: tsn-config {
> +		snps,est;
> +		snps,btr = <0x00000000 0x00000001>;
> +		snps,ctr = <0x00000000 0x10000000>;
> +		snps,ter = <0x00000000>;
> +		snps,gcl = <0x00000001 0x00000002 0x00000003>;
> +		snps,fp;
> +	};
> +
>  	gmac0: ethernet@e0800000 {
>  		compatible = "st,spear600-gmac";
>  		reg = <0xe0800000 0x8000>;
> @@ -176,4 +195,5 @@ Examples:
>  		};
>  		snps,mtl-rx-config = <&mtl_rx_setup>;
>  		snps,mtl-tx-config = <&mtl_tx_setup>;
> +		snps,tsn-config = <&tsn_setup>;

Yes, this is definitively using Device Tree as a configuration
interface, don't do that please.
-- 
Florian

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-25 19:34     ` Florian Fainelli
  0 siblings, 0 replies; 32+ messages in thread
From: Florian Fainelli @ 2017-10-25 19:34 UTC (permalink / raw)
  To: Jose Abreu, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

On 10/25/2017 07:04 AM, Jose Abreu wrote:
> This adds the documentation for TSN feature EST and FP.
> 
> Signed-off-by: Jose Abreu <joabreu-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
> Cc: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
> Cc: Joao Pinto <jpinto-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
> Cc: Giuseppe Cavallaro <peppe.cavallaro-qxv4g6HH51o@public.gmane.org>
> Cc: Alexandre Torgue <alexandre.torgue-qxv4g6HH51o@public.gmane.org>
> Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> ---
>  Documentation/devicetree/bindings/net/stmmac.txt | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
> index c3a7be6..6359df6 100644
> --- a/Documentation/devicetree/bindings/net/stmmac.txt
> +++ b/Documentation/devicetree/bindings/net/stmmac.txt
> @@ -114,6 +114,16 @@ Optional properties:
>  			- snps,high_credit: max write outstanding req. limit
>  			- snps,low_credit: max read outstanding req. limit
>  		- snps,priority: TX queue priority (Range: 0x0 to 0xF)
> +- TSN parameters: below the list of all the parameters to configure TSN
> +		  features (only applicable for IP version >= 5.00)
> +	- snps,est: Enable EST algorithm
> +	- If EST enabled provide these parameters:
> +		- snps,btr: Array size of 2 with BTR value for EST algorithm
> +		- snps,ctr: Array size of 2 with CTR value for EST algorithm
> +		- snps,ter: TER value for EST algorithm
> +		- snps,gcl: Variable size array with GCL table entries.
> +	- snps,fp: Enable FP feature. This needs EST enabled.

You are using Device Tree as a configuration interface, that does not
sound right at all.

> +
>  Examples:
>  
>  	stmmac_axi_setup: stmmac-axi-config {
> @@ -151,6 +161,15 @@ Examples:
>  		};
>  	};
>  
> +	tsn_setup: tsn-config {
> +		snps,est;
> +		snps,btr = <0x00000000 0x00000001>;
> +		snps,ctr = <0x00000000 0x10000000>;
> +		snps,ter = <0x00000000>;
> +		snps,gcl = <0x00000001 0x00000002 0x00000003>;
> +		snps,fp;
> +	};
> +
>  	gmac0: ethernet@e0800000 {
>  		compatible = "st,spear600-gmac";
>  		reg = <0xe0800000 0x8000>;
> @@ -176,4 +195,5 @@ Examples:
>  		};
>  		snps,mtl-rx-config = <&mtl_rx_setup>;
>  		snps,mtl-tx-config = <&mtl_tx_setup>;
> +		snps,tsn-config = <&tsn_setup>;

Yes, this is definitively using Device Tree as a configuration
interface, don't do that please.
-- 
Florian
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26  7:54       ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-26  7:54 UTC (permalink / raw)
  To: Florian Fainelli, netdev, linux-kernel, devicetree
  Cc: David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

Hi Florian,

On 25-10-2017 20:34, Florian Fainelli wrote:
> On 10/25/2017 07:04 AM, Jose Abreu wrote:
>> This adds the documentation for TSN feature EST and FP.
>>
>> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
>> Cc: David S. Miller <davem@davemloft.net>
>> Cc: Joao Pinto <jpinto@synopsys.com>
>> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
>> Cc: Alexandre Torgue <alexandre.torgue@st.com>
>> Cc: Rob Herring <robh+dt@kernel.org>
>> ---
>>  Documentation/devicetree/bindings/net/stmmac.txt | 20 ++++++++++++++++++++
>>  1 file changed, 20 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
>> index c3a7be6..6359df6 100644
>> --- a/Documentation/devicetree/bindings/net/stmmac.txt
>> +++ b/Documentation/devicetree/bindings/net/stmmac.txt
>> @@ -114,6 +114,16 @@ Optional properties:
>>  			- snps,high_credit: max write outstanding req. limit
>>  			- snps,low_credit: max read outstanding req. limit
>>  		- snps,priority: TX queue priority (Range: 0x0 to 0xF)
>> +- TSN parameters: below the list of all the parameters to configure TSN
>> +		  features (only applicable for IP version >= 5.00)
>> +	- snps,est: Enable EST algorithm
>> +	- If EST enabled provide these parameters:
>> +		- snps,btr: Array size of 2 with BTR value for EST algorithm
>> +		- snps,ctr: Array size of 2 with CTR value for EST algorithm
>> +		- snps,ter: TER value for EST algorithm
>> +		- snps,gcl: Variable size array with GCL table entries.
>> +	- snps,fp: Enable FP feature. This needs EST enabled.
> You are using Device Tree as a configuration interface, that does not
> sound right at all.
>
>> +
>>  Examples:
>>  
>>  	stmmac_axi_setup: stmmac-axi-config {
>> @@ -151,6 +161,15 @@ Examples:
>>  		};
>>  	};
>>  
>> +	tsn_setup: tsn-config {
>> +		snps,est;
>> +		snps,btr = <0x00000000 0x00000001>;
>> +		snps,ctr = <0x00000000 0x10000000>;
>> +		snps,ter = <0x00000000>;
>> +		snps,gcl = <0x00000001 0x00000002 0x00000003>;
>> +		snps,fp;
>> +	};
>> +
>>  	gmac0: ethernet@e0800000 {
>>  		compatible = "st,spear600-gmac";
>>  		reg = <0xe0800000 0x8000>;
>> @@ -176,4 +195,5 @@ Examples:
>>  		};
>>  		snps,mtl-rx-config = <&mtl_rx_setup>;
>>  		snps,mtl-tx-config = <&mtl_tx_setup>;
>> +		snps,tsn-config = <&tsn_setup>;
> Yes, this is definitively using Device Tree as a configuration
> interface, don't do that please.

I understand your concern here and I know DT bindings should only
describe the HW but note that this is already done in
mtl-rx-config and mtl-tx-config.

These parameters may also need to change in runtime depending on
the scheduled traffic. Unfortunately, net subsystem does not yet
support TSN so this will have to wait and for now we will use
fixed parameters.

Anyway, what do you suggest here instead? Platform data?

Best regards,
Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26  7:54       ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-26  7:54 UTC (permalink / raw)
  To: Florian Fainelli, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

Hi Florian,

On 25-10-2017 20:34, Florian Fainelli wrote:
> On 10/25/2017 07:04 AM, Jose Abreu wrote:
>> This adds the documentation for TSN feature EST and FP.
>>
>> Signed-off-by: Jose Abreu <joabreu-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
>> Cc: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
>> Cc: Joao Pinto <jpinto-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
>> Cc: Giuseppe Cavallaro <peppe.cavallaro-qxv4g6HH51o@public.gmane.org>
>> Cc: Alexandre Torgue <alexandre.torgue-qxv4g6HH51o@public.gmane.org>
>> Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>> ---
>>  Documentation/devicetree/bindings/net/stmmac.txt | 20 ++++++++++++++++++++
>>  1 file changed, 20 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
>> index c3a7be6..6359df6 100644
>> --- a/Documentation/devicetree/bindings/net/stmmac.txt
>> +++ b/Documentation/devicetree/bindings/net/stmmac.txt
>> @@ -114,6 +114,16 @@ Optional properties:
>>  			- snps,high_credit: max write outstanding req. limit
>>  			- snps,low_credit: max read outstanding req. limit
>>  		- snps,priority: TX queue priority (Range: 0x0 to 0xF)
>> +- TSN parameters: below the list of all the parameters to configure TSN
>> +		  features (only applicable for IP version >= 5.00)
>> +	- snps,est: Enable EST algorithm
>> +	- If EST enabled provide these parameters:
>> +		- snps,btr: Array size of 2 with BTR value for EST algorithm
>> +		- snps,ctr: Array size of 2 with CTR value for EST algorithm
>> +		- snps,ter: TER value for EST algorithm
>> +		- snps,gcl: Variable size array with GCL table entries.
>> +	- snps,fp: Enable FP feature. This needs EST enabled.
> You are using Device Tree as a configuration interface, that does not
> sound right at all.
>
>> +
>>  Examples:
>>  
>>  	stmmac_axi_setup: stmmac-axi-config {
>> @@ -151,6 +161,15 @@ Examples:
>>  		};
>>  	};
>>  
>> +	tsn_setup: tsn-config {
>> +		snps,est;
>> +		snps,btr = <0x00000000 0x00000001>;
>> +		snps,ctr = <0x00000000 0x10000000>;
>> +		snps,ter = <0x00000000>;
>> +		snps,gcl = <0x00000001 0x00000002 0x00000003>;
>> +		snps,fp;
>> +	};
>> +
>>  	gmac0: ethernet@e0800000 {
>>  		compatible = "st,spear600-gmac";
>>  		reg = <0xe0800000 0x8000>;
>> @@ -176,4 +195,5 @@ Examples:
>>  		};
>>  		snps,mtl-rx-config = <&mtl_rx_setup>;
>>  		snps,mtl-tx-config = <&mtl_tx_setup>;
>> +		snps,tsn-config = <&tsn_setup>;
> Yes, this is definitively using Device Tree as a configuration
> interface, don't do that please.

I understand your concern here and I know DT bindings should only
describe the HW but note that this is already done in
mtl-rx-config and mtl-tx-config.

These parameters may also need to change in runtime depending on
the scheduled traffic. Unfortunately, net subsystem does not yet
support TSN so this will have to wait and for now we will use
fixed parameters.

Anyway, what do you suggest here instead? Platform data?

Best regards,
Jose Miguel Abreu
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26  7:54       ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-26  7:54 UTC (permalink / raw)
  To: Florian Fainelli, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA
  Cc: David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

Hi Florian,

On 25-10-2017 20:34, Florian Fainelli wrote:
> On 10/25/2017 07:04 AM, Jose Abreu wrote:
>> This adds the documentation for TSN feature EST and FP.
>>
>> Signed-off-by: Jose Abreu <joabreu-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
>> Cc: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
>> Cc: Joao Pinto <jpinto-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
>> Cc: Giuseppe Cavallaro <peppe.cavallaro-qxv4g6HH51o@public.gmane.org>
>> Cc: Alexandre Torgue <alexandre.torgue-qxv4g6HH51o@public.gmane.org>
>> Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>> ---
>>  Documentation/devicetree/bindings/net/stmmac.txt | 20 ++++++++++++++++++++
>>  1 file changed, 20 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/net/stmmac.txt b/Documentation/devicetree/bindings/net/stmmac.txt
>> index c3a7be6..6359df6 100644
>> --- a/Documentation/devicetree/bindings/net/stmmac.txt
>> +++ b/Documentation/devicetree/bindings/net/stmmac.txt
>> @@ -114,6 +114,16 @@ Optional properties:
>>  			- snps,high_credit: max write outstanding req. limit
>>  			- snps,low_credit: max read outstanding req. limit
>>  		- snps,priority: TX queue priority (Range: 0x0 to 0xF)
>> +- TSN parameters: below the list of all the parameters to configure TSN
>> +		  features (only applicable for IP version >= 5.00)
>> +	- snps,est: Enable EST algorithm
>> +	- If EST enabled provide these parameters:
>> +		- snps,btr: Array size of 2 with BTR value for EST algorithm
>> +		- snps,ctr: Array size of 2 with CTR value for EST algorithm
>> +		- snps,ter: TER value for EST algorithm
>> +		- snps,gcl: Variable size array with GCL table entries.
>> +	- snps,fp: Enable FP feature. This needs EST enabled.
> You are using Device Tree as a configuration interface, that does not
> sound right at all.
>
>> +
>>  Examples:
>>  
>>  	stmmac_axi_setup: stmmac-axi-config {
>> @@ -151,6 +161,15 @@ Examples:
>>  		};
>>  	};
>>  
>> +	tsn_setup: tsn-config {
>> +		snps,est;
>> +		snps,btr = <0x00000000 0x00000001>;
>> +		snps,ctr = <0x00000000 0x10000000>;
>> +		snps,ter = <0x00000000>;
>> +		snps,gcl = <0x00000001 0x00000002 0x00000003>;
>> +		snps,fp;
>> +	};
>> +
>>  	gmac0: ethernet@e0800000 {
>>  		compatible = "st,spear600-gmac";
>>  		reg = <0xe0800000 0x8000>;
>> @@ -176,4 +195,5 @@ Examples:
>>  		};
>>  		snps,mtl-rx-config = <&mtl_rx_setup>;
>>  		snps,mtl-tx-config = <&mtl_tx_setup>;
>> +		snps,tsn-config = <&tsn_setup>;
> Yes, this is definitively using Device Tree as a configuration
> interface, don't do that please.

I understand your concern here and I know DT bindings should only
describe the HW but note that this is already done in
mtl-rx-config and mtl-tx-config.

These parameters may also need to change in runtime depending on
the scheduled traffic. Unfortunately, net subsystem does not yet
support TSN so this will have to wait and for now we will use
fixed parameters.

Anyway, what do you suggest here instead? Platform data?

Best regards,
Jose Miguel Abreu
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
  2017-10-26  7:54       ` Jose Abreu
  (?)
  (?)
@ 2017-10-26  9:03       ` Andrew Lunn
  2017-10-26  9:19           ` Jose Abreu
  2017-10-26 10:08           ` Jose Abreu
  -1 siblings, 2 replies; 32+ messages in thread
From: Andrew Lunn @ 2017-10-26  9:03 UTC (permalink / raw)
  To: Jose Abreu
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

> These parameters may also need to change in runtime depending on
> the scheduled traffic. Unfortunately, net subsystem does not yet
> support TSN so this will have to wait and for now we will use
> fixed parameters.

Hi Jose

what you should do is help Linux get support for TSN. Please take part
in this discussion:

https://patchwork.ozlabs.org/cover/808504/

Test the RFC, make sure the concepts will work for your hardware. Make
you hardware work with these RFC patches. Help drive TSN forward. Once
the core TSN code lands, then you can post patches for your driver.

    Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26  9:19           ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-26  9:19 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

Hi Andrew,

On 26-10-2017 10:03, Andrew Lunn wrote:
>> These parameters may also need to change in runtime depending on
>> the scheduled traffic. Unfortunately, net subsystem does not yet
>> support TSN so this will have to wait and for now we will use
>> fixed parameters.
> Hi Jose
>
> what you should do is help Linux get support for TSN. Please take part
> in this discussion:
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.ozlabs.org_cover_808504_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=8yzdm5iHyWm9cVsYIYUtQNul5WnLO4nLnIxb3WDu-WU&s=6UJ2YJm5jXq6vTWpNRwRzNEuukPboceO61DQgDIpSj0&e=

Seems like I don't have this thread saved here. Can you please
add me in the thread?

Thanks and best regards,
Jose Miguel Abreu

>
> Test the RFC, make sure the concepts will work for your hardware. Make
> you hardware work with these RFC patches. Help drive TSN forward. Once
> the core TSN code lands, then you can post patches for your driver.
>
>     Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26  9:19           ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-26  9:19 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Florian Fainelli, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, David S. Miller, Joao Pinto,
	Giuseppe Cavallaro, Alexandre Torgue, Rob Herring

Hi Andrew,

On 26-10-2017 10:03, Andrew Lunn wrote:
>> These parameters may also need to change in runtime depending on
>> the scheduled traffic. Unfortunately, net subsystem does not yet
>> support TSN so this will have to wait and for now we will use
>> fixed parameters.
> Hi Jose
>
> what you should do is help Linux get support for TSN. Please take part
> in this discussion:
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.ozlabs.org_cover_808504_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=8yzdm5iHyWm9cVsYIYUtQNul5WnLO4nLnIxb3WDu-WU&s=6UJ2YJm5jXq6vTWpNRwRzNEuukPboceO61DQgDIpSj0&e=

Seems like I don't have this thread saved here. Can you please
add me in the thread?

Thanks and best regards,
Jose Miguel Abreu

>
> Test the RFC, make sure the concepts will work for your hardware. Make
> you hardware work with these RFC patches. Help drive TSN forward. Once
> the core TSN code lands, then you can post patches for your driver.
>
>     Andrew

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26  9:19           ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-26  9:19 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Florian Fainelli, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, David S. Miller, Joao Pinto,
	Giuseppe Cavallaro, Alexandre Torgue, Rob Herring

Hi Andrew,

On 26-10-2017 10:03, Andrew Lunn wrote:
>> These parameters may also need to change in runtime depending on
>> the scheduled traffic. Unfortunately, net subsystem does not yet
>> support TSN so this will have to wait and for now we will use
>> fixed parameters.
> Hi Jose
>
> what you should do is help Linux get support for TSN. Please take part
> in this discussion:
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.ozlabs.org_cover_808504_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=8yzdm5iHyWm9cVsYIYUtQNul5WnLO4nLnIxb3WDu-WU&s=6UJ2YJm5jXq6vTWpNRwRzNEuukPboceO61DQgDIpSj0&e=

Seems like I don't have this thread saved here. Can you please
add me in the thread?

Thanks and best regards,
Jose Miguel Abreu

>
> Test the RFC, make sure the concepts will work for your hardware. Make
> you hardware work with these RFC patches. Help drive TSN forward. Once
> the core TSN code lands, then you can post patches for your driver.
>
>     Andrew

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
  2017-10-26  9:03       ` Andrew Lunn
@ 2017-10-26 10:08           ` Jose Abreu
  2017-10-26 10:08           ` Jose Abreu
  1 sibling, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-26 10:08 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

Hi Andrew,

On 26-10-2017 10:03, Andrew Lunn wrote:
>> These parameters may also need to change in runtime depending on
>> the scheduled traffic. Unfortunately, net subsystem does not yet
>> support TSN so this will have to wait and for now we will use
>> fixed parameters.
> Hi Jose
>
> what you should do is help Linux get support for TSN. Please take part
> in this discussion:
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.ozlabs.org_cover_808504_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=8yzdm5iHyWm9cVsYIYUtQNul5WnLO4nLnIxb3WDu-WU&s=6UJ2YJm5jXq6vTWpNRwRzNEuukPboceO61DQgDIpSj0&e=
>
> Test the RFC, make sure the concepts will work for your hardware. Make
> you hardware work with these RFC patches. Help drive TSN forward. Once
> the core TSN code lands, then you can post patches for your driver.

After reading more carefully the RFC I noticed that for now it
only supports CBS. CBS is already supported by stmmac since:
"net: stmmac: configuration of CBS in case of a TX AVB queue"
[1]. My main objective now is to add support for EST and FP
features in stmmac.

As I am a recent contributor to net subsytem I am afraid my
expertise won't be of much value for now as far as the RFC goes.

About my patches, what I think would be better now would be to
drop the configuration by DT and integrate the remaining
configuration, letting the EST parameters be populated by SoC
specific wrappers. I will then integrate this with the RFC
patches once they get in and I also intend to contribute with the
discussion once a new version is sent.

I need also to say that this was fully tested and its working as
expected so, there is no real setback in integrating this now and
it will save us time in the future because then we will only need
to implement the callbacks.

Best regards,
Jose Miguel Abreu

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/drivers/net/ethernet/stmicro/stmmac?id=19d9187317979cf0c25f67017d2676149abc46b2

>
>     Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26 10:08           ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-26 10:08 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

Hi Andrew,

On 26-10-2017 10:03, Andrew Lunn wrote:
>> These parameters may also need to change in runtime depending on
>> the scheduled traffic. Unfortunately, net subsystem does not yet
>> support TSN so this will have to wait and for now we will use
>> fixed parameters.
> Hi Jose
>
> what you should do is help Linux get support for TSN. Please take part
> in this discussion:
>
> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.ozlabs.org_cover_808504_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=8yzdm5iHyWm9cVsYIYUtQNul5WnLO4nLnIxb3WDu-WU&s=6UJ2YJm5jXq6vTWpNRwRzNEuukPboceO61DQgDIpSj0&e=
>
> Test the RFC, make sure the concepts will work for your hardware. Make
> you hardware work with these RFC patches. Help drive TSN forward. Once
> the core TSN code lands, then you can post patches for your driver.

After reading more carefully the RFC I noticed that for now it
only supports CBS. CBS is already supported by stmmac since:
"net: stmmac: configuration of CBS in case of a TX AVB queue"
[1]. My main objective now is to add support for EST and FP
features in stmmac.

As I am a recent contributor to net subsytem I am afraid my
expertise won't be of much value for now as far as the RFC goes.

About my patches, what I think would be better now would be to
drop the configuration by DT and integrate the remaining
configuration, letting the EST parameters be populated by SoC
specific wrappers. I will then integrate this with the RFC
patches once they get in and I also intend to contribute with the
discussion once a new version is sent.

I need also to say that this was fully tested and its working as
expected so, there is no real setback in integrating this now and
it will save us time in the future because then we will only need
to implement the callbacks.

Best regards,
Jose Miguel Abreu

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/drivers/net/ethernet/stmicro/stmmac?id=19d9187317979cf0c25f67017d2676149abc46b2

>
>     Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
  2017-10-26 10:08           ` Jose Abreu
  (?)
@ 2017-10-26 16:23           ` Jesus Sanchez-Palencia
  2017-10-27  8:53               ` Jose Abreu
  -1 siblings, 1 reply; 32+ messages in thread
From: Jesus Sanchez-Palencia @ 2017-10-26 16:23 UTC (permalink / raw)
  To: Jose Abreu, Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring, Richard Cochran, Ong, Boon Leong,
	Gomes, Vinicius, Guedes, Andre, Briano, Ivan

Hi Jose,


On 10/26/2017 03:08 AM, Jose Abreu wrote:
> Hi Andrew,
> 
> On 26-10-2017 10:03, Andrew Lunn wrote:
>>> These parameters may also need to change in runtime depending on
>>> the scheduled traffic. Unfortunately, net subsystem does not yet
>>> support TSN so this will have to wait and for now we will use
>>> fixed parameters.
>> Hi Jose
>>
>> what you should do is help Linux get support for TSN. Please take part
>> in this discussion:
>>
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.ozlabs.org_cover_808504_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=8yzdm5iHyWm9cVsYIYUtQNul5WnLO4nLnIxb3WDu-WU&s=6UJ2YJm5jXq6vTWpNRwRzNEuukPboceO61DQgDIpSj0&e=
>>
>> Test the RFC, make sure the concepts will work for your hardware. Make
>> you hardware work with these RFC patches. Help drive TSN forward. Once
>> the core TSN code lands, then you can post patches for your driver.
> 
> After reading more carefully the RFC I noticed that for now it
> only supports CBS. CBS is already supported by stmmac since:
> "net: stmmac: configuration of CBS in case of a TX AVB queue"
> [1]. My main objective now is to add support for EST and FP
> features in stmmac.
>
> As I am a recent contributor to net subsystem I am afraid my
> expertise won't be of much value for now as far as the RFC goes.
>


Please note that our RFC covered more than CBS. We've only provided
patches for the cbs qdisc so far, but we've shared ideas of another
qdisc we've designed and prototyped for EST and FP: taprio. It was a
quite extensive thread, so I recommend reading it all so you can have
a better picture of how the ideas were received back then [1].

In addition to our RFC, there is also the related discussion about
SO_TXTIME proposed by Richard Cochran [2], which I believe might
also be of interest to you.


> 
> About my patches, what I think would be better now would be to
> drop the configuration by DT and integrate the remaining
> configuration, letting the EST parameters be populated by SoC
> specific wrappers. I will then integrate this with the RFC
> patches once they get in and I also intend to contribute with the
> discussion once a new version is sent.


The CBS qdisc patchset is ready to be merged, and based on previous
feedback should go in anytime now.


> 
> I need also to say that this was fully tested and its working as
> expected so, there is no real setback in integrating this now and
> it will save us time in the future because then we will only need
> to implement the callbacks.


Which is great, sure. I believe the point others are making here is
just that there have been some discussions recently that you should
take part of. The goal is getting the *standard* interfaces into
the kernel so we can then provide device driver implementations
through them.

Thanks,
Jesus

[1] https://www.mail-archive.com/netdev@vger.kernel.org/msg186431.html
[2] https://www.mail-archive.com/netdev@vger.kernel.org/msg188385.html


> 
> Best regards,
> Jose Miguel Abreu
> 
> [1]
> https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git/commit/drivers/net/ethernet/stmicro/stmmac?id=19d9187317979cf0c25f67017d2676149abc46b2
> 
>>
>>     Andrew
> 

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN
  2017-10-25 14:02 [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN Jose Abreu
  2017-10-25 14:04   ` Jose Abreu
  2017-10-25 14:04 ` [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters Jose Abreu
@ 2017-10-26 16:28 ` Jesus Sanchez-Palencia
  2017-10-27  8:46     ` Jose Abreu
  2 siblings, 1 reply; 32+ messages in thread
From: Jesus Sanchez-Palencia @ 2017-10-26 16:28 UTC (permalink / raw)
  To: Jose Abreu, netdev, linux-kernel, devicetree

Hi Jose,


On 10/25/2017 07:02 AM, Jose Abreu wrote:
> Hi,
> 
> This adds support for a new IP version (5) of dwmac and for
> TSN features as defined by IEEE802.1Qbv-2015 and IEEE802.1Qbu.


Just out of curiosity, are you aware of any NICs that are publicly
available which use this IP version?

Thanks,
Jesus


> 
> Please review.
> 
> Best regards,
> Jose Miguel Abreu
> 
> Jose Abreu (2):
>   net: stmmac: Add support for DWMAC5 with TSN features
>   bindings: net: stmmac: Add documentation for TSN parameters
> 
>  Documentation/devicetree/bindings/net/stmmac.txt   | 20 +++++
>  drivers/net/ethernet/stmicro/stmmac/Makefile       |  2 +-
>  drivers/net/ethernet/stmicro/stmmac/common.h       |  4 +
>  drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  | 37 +++++++-
>  drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c   | 99 ++++++++++++++++++++++
>  drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h   | 57 +++++++++++++
>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  4 +
>  .../net/ethernet/stmicro/stmmac/stmmac_platform.c  | 57 ++++++++++++-
>  include/linux/stmmac.h                             | 11 +++
>  9 files changed, 288 insertions(+), 3 deletions(-)
>  create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
>  create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h
> 

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26 21:56             ` Andrew Lunn
  0 siblings, 0 replies; 32+ messages in thread
From: Andrew Lunn @ 2017-10-26 21:56 UTC (permalink / raw)
  To: Jose Abreu
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

> About my patches, what I think would be better now would be to
> drop the configuration by DT and integrate the remaining
> configuration, letting the EST parameters be populated by SoC
> specific wrappers.

Hi Jose

The problem with SoC specific wrappers is that you are going to have
to remove them once the real interface is defined. Anybody who uses
your SoC specific wrappers is going to have to re-write their code,
when it all gets ripped out.

You generally don't add device SoC specific wrappers. Imagine if
everybody did that. Lots of different ways of doing the same thing.
My suggesting is to keep your patches out for the moment, waiting for
generic support to be added.

     Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-26 21:56             ` Andrew Lunn
  0 siblings, 0 replies; 32+ messages in thread
From: Andrew Lunn @ 2017-10-26 21:56 UTC (permalink / raw)
  To: Jose Abreu
  Cc: Florian Fainelli, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, David S. Miller, Joao Pinto,
	Giuseppe Cavallaro, Alexandre Torgue, Rob Herring

> About my patches, what I think would be better now would be to
> drop the configuration by DT and integrate the remaining
> configuration, letting the EST parameters be populated by SoC
> specific wrappers.

Hi Jose

The problem with SoC specific wrappers is that you are going to have
to remove them once the real interface is defined. Anybody who uses
your SoC specific wrappers is going to have to re-write their code,
when it all gets ripped out.

You generally don't add device SoC specific wrappers. Imagine if
everybody did that. Lots of different ways of doing the same thing.
My suggesting is to keep your patches out for the moment, waiting for
generic support to be added.

     Andrew
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN
  2017-10-26 16:28 ` [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN Jesus Sanchez-Palencia
@ 2017-10-27  8:46     ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27  8:46 UTC (permalink / raw)
  To: Jesus Sanchez-Palencia, netdev, linux-kernel, devicetree

Hi Jesus,

On 26-10-2017 17:28, Jesus Sanchez-Palencia wrote:
> Hi Jose,
>
>
> On 10/25/2017 07:02 AM, Jose Abreu wrote:
>> Hi,
>>
>> This adds support for a new IP version (5) of dwmac and for
>> TSN features as defined by IEEE802.1Qbv-2015 and IEEE802.1Qbu.
>
> Just out of curiosity, are you aware of any NICs that are publicly
> available which use this IP version?

The IP was just released and these are fresh new features, you
can find more info here [1]. We expect manufacturers to start
adopting this IP release soon.

Best Regards,
Jose Miguel Abreu

[1] https://www.synopsys.com/dw/ipdir.php?ds=dwc_ether_qos

>
> Thanks,
> Jesus
>
>
>> Please review.
>>
>> Best regards,
>> Jose Miguel Abreu
>>
>> Jose Abreu (2):
>>   net: stmmac: Add support for DWMAC5 with TSN features
>>   bindings: net: stmmac: Add documentation for TSN parameters
>>
>>  Documentation/devicetree/bindings/net/stmmac.txt   | 20 +++++
>>  drivers/net/ethernet/stmicro/stmmac/Makefile       |  2 +-
>>  drivers/net/ethernet/stmicro/stmmac/common.h       |  4 +
>>  drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  | 37 +++++++-
>>  drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c   | 99 ++++++++++++++++++++++
>>  drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h   | 57 +++++++++++++
>>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  4 +
>>  .../net/ethernet/stmicro/stmmac/stmmac_platform.c  | 57 ++++++++++++-
>>  include/linux/stmmac.h                             | 11 +++
>>  9 files changed, 288 insertions(+), 3 deletions(-)
>>  create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
>>  create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h
>>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN
@ 2017-10-27  8:46     ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27  8:46 UTC (permalink / raw)
  To: Jesus Sanchez-Palencia, netdev, linux-kernel, devicetree

Hi Jesus,

On 26-10-2017 17:28, Jesus Sanchez-Palencia wrote:
> Hi Jose,
>
>
> On 10/25/2017 07:02 AM, Jose Abreu wrote:
>> Hi,
>>
>> This adds support for a new IP version (5) of dwmac and for
>> TSN features as defined by IEEE802.1Qbv-2015 and IEEE802.1Qbu.
>
> Just out of curiosity, are you aware of any NICs that are publicly
> available which use this IP version?

The IP was just released and these are fresh new features, you
can find more info here [1]. We expect manufacturers to start
adopting this IP release soon.

Best Regards,
Jose Miguel Abreu

[1] https://www.synopsys.com/dw/ipdir.php?ds=dwc_ether_qos

>
> Thanks,
> Jesus
>
>
>> Please review.
>>
>> Best regards,
>> Jose Miguel Abreu
>>
>> Jose Abreu (2):
>>   net: stmmac: Add support for DWMAC5 with TSN features
>>   bindings: net: stmmac: Add documentation for TSN parameters
>>
>>  Documentation/devicetree/bindings/net/stmmac.txt   | 20 +++++
>>  drivers/net/ethernet/stmicro/stmmac/Makefile       |  2 +-
>>  drivers/net/ethernet/stmicro/stmmac/common.h       |  4 +
>>  drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  | 37 +++++++-
>>  drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c   | 99 ++++++++++++++++++++++
>>  drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h   | 57 +++++++++++++
>>  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |  4 +
>>  .../net/ethernet/stmicro/stmmac/stmmac_platform.c  | 57 ++++++++++++-
>>  include/linux/stmmac.h                             | 11 +++
>>  9 files changed, 288 insertions(+), 3 deletions(-)
>>  create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.c
>>  create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5_tsn.h
>>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
  2017-10-26 16:23           ` Jesus Sanchez-Palencia
@ 2017-10-27  8:53               ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27  8:53 UTC (permalink / raw)
  To: Jesus Sanchez-Palencia, Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring, Richard Cochran, Ong, Boon Leong,
	Gomes, Vinicius, Guedes, Andre, Briano, Ivan

Hi Jesus,

On 26-10-2017 17:23, Jesus Sanchez-Palencia wrote:
> Hi Jose,
>
>
> On 10/26/2017 03:08 AM, Jose Abreu wrote:
>> Hi Andrew,
>>
>> On 26-10-2017 10:03, Andrew Lunn wrote:
>>>> These parameters may also need to change in runtime depending on
>>>> the scheduled traffic. Unfortunately, net subsystem does not yet
>>>> support TSN so this will have to wait and for now we will use
>>>> fixed parameters.
>>> Hi Jose
>>>
>>> what you should do is help Linux get support for TSN. Please take part
>>> in this discussion:
>>>
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.ozlabs.org_cover_808504_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=8yzdm5iHyWm9cVsYIYUtQNul5WnLO4nLnIxb3WDu-WU&s=6UJ2YJm5jXq6vTWpNRwRzNEuukPboceO61DQgDIpSj0&e=
>>>
>>> Test the RFC, make sure the concepts will work for your hardware. Make
>>> you hardware work with these RFC patches. Help drive TSN forward. Once
>>> the core TSN code lands, then you can post patches for your driver.
>> After reading more carefully the RFC I noticed that for now it
>> only supports CBS. CBS is already supported by stmmac since:
>> "net: stmmac: configuration of CBS in case of a TX AVB queue"
>> [1]. My main objective now is to add support for EST and FP
>> features in stmmac.
>>
>> As I am a recent contributor to net subsystem I am afraid my
>> expertise won't be of much value for now as far as the RFC goes.
>>
>
> Please note that our RFC covered more than CBS. We've only provided
> patches for the cbs qdisc so far, but we've shared ideas of another
> qdisc we've designed and prototyped for EST and FP: taprio. It was a
> quite extensive thread, so I recommend reading it all so you can have
> a better picture of how the ideas were received back then [1].
>
> In addition to our RFC, there is also the related discussion about
> SO_TXTIME proposed by Richard Cochran [2], which I believe might
> also be of interest to you.

Thanks for this info! I guess I have a lot to read this weekend :)

>
>
>> About my patches, what I think would be better now would be to
>> drop the configuration by DT and integrate the remaining
>> configuration, letting the EST parameters be populated by SoC
>> specific wrappers. I will then integrate this with the RFC
>> patches once they get in and I also intend to contribute with the
>> discussion once a new version is sent.
>
> The CBS qdisc patchset is ready to be merged, and based on previous
> feedback should go in anytime now.

Nice! I will start studying the integration of this in stmmac.

>
>
>> I need also to say that this was fully tested and its working as
>> expected so, there is no real setback in integrating this now and
>> it will save us time in the future because then we will only need
>> to implement the callbacks.
>
> Which is great, sure. I believe the point others are making here is
> just that there have been some discussions recently that you should
> take part of. The goal is getting the *standard* interfaces into
> the kernel so we can then provide device driver implementations
> through them.

And we are all in favor about making this a standard interface. I
was just mentioning that my expertise in the net subsystem is
very low but I will review the threads. If you could add me in cc
for the relevant threads it would be nice because I don't have
them saved here.

Thanks and Best Regards,
Jose Miguel Abreu

>
> Thanks,
> Jesus
>
> [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mail-2Darchive.com_netdev-40vger.kernel.org_msg186431.html&d=DwIC-g&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=9feTUzfFG49lrNpaBinz8J4S1cKj1qEZur1JlzfQdWU&s=zjR6UPefwbqwHVbaTrepj_ZQnxBMGKDlTq4obkLlfkk&e=
> [2] https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mail-2Darchive.com_netdev-40vger.kernel.org_msg188385.html&d=DwIC-g&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=9feTUzfFG49lrNpaBinz8J4S1cKj1qEZur1JlzfQdWU&s=6aZXBf8OndxVnh1cl3UvvfDqWp1Xa6ql_cCVB3xAQa8&e=
>
>
>> Best regards,
>> Jose Miguel Abreu
>>
>> [1]
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__git.kernel.org_pub_scm_linux_kernel_git_davem_net-2Dnext.git_commit_drivers_net_ethernet_stmicro_stmmac-3Fid-3D19d9187317979cf0c25f67017d2676149abc46b2&d=DwIC-g&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=9feTUzfFG49lrNpaBinz8J4S1cKj1qEZur1JlzfQdWU&s=kN0fG9BlqONAd9z6vji-mnCxaVpJ-oX-Bv4c6DXNhaQ&e=
>>
>>>     Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-27  8:53               ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27  8:53 UTC (permalink / raw)
  To: Jesus Sanchez-Palencia, Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring, Richard Cochran, Ong, Boon Leong,
	Gomes, Vinicius, Guedes, Andre, Briano, Ivan

Hi Jesus,

On 26-10-2017 17:23, Jesus Sanchez-Palencia wrote:
> Hi Jose,
>
>
> On 10/26/2017 03:08 AM, Jose Abreu wrote:
>> Hi Andrew,
>>
>> On 26-10-2017 10:03, Andrew Lunn wrote:
>>>> These parameters may also need to change in runtime depending on
>>>> the scheduled traffic. Unfortunately, net subsystem does not yet
>>>> support TSN so this will have to wait and for now we will use
>>>> fixed parameters.
>>> Hi Jose
>>>
>>> what you should do is help Linux get support for TSN. Please take part
>>> in this discussion:
>>>
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__patchwork.ozlabs.org_cover_808504_&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=8yzdm5iHyWm9cVsYIYUtQNul5WnLO4nLnIxb3WDu-WU&s=6UJ2YJm5jXq6vTWpNRwRzNEuukPboceO61DQgDIpSj0&e=
>>>
>>> Test the RFC, make sure the concepts will work for your hardware. Make
>>> you hardware work with these RFC patches. Help drive TSN forward. Once
>>> the core TSN code lands, then you can post patches for your driver.
>> After reading more carefully the RFC I noticed that for now it
>> only supports CBS. CBS is already supported by stmmac since:
>> "net: stmmac: configuration of CBS in case of a TX AVB queue"
>> [1]. My main objective now is to add support for EST and FP
>> features in stmmac.
>>
>> As I am a recent contributor to net subsystem I am afraid my
>> expertise won't be of much value for now as far as the RFC goes.
>>
>
> Please note that our RFC covered more than CBS. We've only provided
> patches for the cbs qdisc so far, but we've shared ideas of another
> qdisc we've designed and prototyped for EST and FP: taprio. It was a
> quite extensive thread, so I recommend reading it all so you can have
> a better picture of how the ideas were received back then [1].
>
> In addition to our RFC, there is also the related discussion about
> SO_TXTIME proposed by Richard Cochran [2], which I believe might
> also be of interest to you.

Thanks for this info! I guess I have a lot to read this weekend :)

>
>
>> About my patches, what I think would be better now would be to
>> drop the configuration by DT and integrate the remaining
>> configuration, letting the EST parameters be populated by SoC
>> specific wrappers. I will then integrate this with the RFC
>> patches once they get in and I also intend to contribute with the
>> discussion once a new version is sent.
>
> The CBS qdisc patchset is ready to be merged, and based on previous
> feedback should go in anytime now.

Nice! I will start studying the integration of this in stmmac.

>
>
>> I need also to say that this was fully tested and its working as
>> expected so, there is no real setback in integrating this now and
>> it will save us time in the future because then we will only need
>> to implement the callbacks.
>
> Which is great, sure. I believe the point others are making here is
> just that there have been some discussions recently that you should
> take part of. The goal is getting the *standard* interfaces into
> the kernel so we can then provide device driver implementations
> through them.

And we are all in favor about making this a standard interface. I
was just mentioning that my expertise in the net subsystem is
very low but I will review the threads. If you could add me in cc
for the relevant threads it would be nice because I don't have
them saved here.

Thanks and Best Regards,
Jose Miguel Abreu

>
> Thanks,
> Jesus
>
> [1] https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mail-2Darchive.com_netdev-40vger.kernel.org_msg186431.html&d=DwIC-g&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=9feTUzfFG49lrNpaBinz8J4S1cKj1qEZur1JlzfQdWU&s=zjR6UPefwbqwHVbaTrepj_ZQnxBMGKDlTq4obkLlfkk&e=
> [2] https://urldefense.proofpoint.com/v2/url?u=https-3A__www.mail-2Darchive.com_netdev-40vger.kernel.org_msg188385.html&d=DwIC-g&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=9feTUzfFG49lrNpaBinz8J4S1cKj1qEZur1JlzfQdWU&s=6aZXBf8OndxVnh1cl3UvvfDqWp1Xa6ql_cCVB3xAQa8&e=
>
>
>> Best regards,
>> Jose Miguel Abreu
>>
>> [1]
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__git.kernel.org_pub_scm_linux_kernel_git_davem_net-2Dnext.git_commit_drivers_net_ethernet_stmicro_stmmac-3Fid-3D19d9187317979cf0c25f67017d2676149abc46b2&d=DwIC-g&c=DPL6_X_6JkXFx7AXWqB0tg&r=WHDsc6kcWAl4i96Vm5hJ_19IJiuxx_p_Rzo2g-uHDKw&m=9feTUzfFG49lrNpaBinz8J4S1cKj1qEZur1JlzfQdWU&s=kN0fG9BlqONAd9z6vji-mnCxaVpJ-oX-Bv4c6DXNhaQ&e=
>>
>>>     Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
  2017-10-26 21:56             ` Andrew Lunn
@ 2017-10-27  9:05               ` Jose Abreu
  -1 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27  9:05 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

Hi Andrew,

On 26-10-2017 22:56, Andrew Lunn wrote:
>> About my patches, what I think would be better now would be to
>> drop the configuration by DT and integrate the remaining
>> configuration, letting the EST parameters be populated by SoC
>> specific wrappers.
> Hi Jose
>
> The problem with SoC specific wrappers is that you are going to have
> to remove them once the real interface is defined. Anybody who uses
> your SoC specific wrappers is going to have to re-write their code,
> when it all gets ripped out.

Yeah, I agree. But what about just merge the implementation and
then construct the interface? I mean just creating the internal
parameters in stmmac and then the configuration functions.

>
> You generally don't add device SoC specific wrappers. Imagine if
> everybody did that. Lots of different ways of doing the same thing.
> My suggesting is to keep your patches out for the moment, waiting for
> generic support to be added.

I think we should take advantage of the fact that this is working
and ready to be merged. Its just HW configuration but maybe it
can serve as momentum for other drivers to also integrate this?

Best Regards,
Jose Miguel Abreu

>
>      Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-27  9:05               ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27  9:05 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Giuseppe Cavallaro,
	Alexandre Torgue, Rob Herring

Hi Andrew,

On 26-10-2017 22:56, Andrew Lunn wrote:
>> About my patches, what I think would be better now would be to
>> drop the configuration by DT and integrate the remaining
>> configuration, letting the EST parameters be populated by SoC
>> specific wrappers.
> Hi Jose
>
> The problem with SoC specific wrappers is that you are going to have
> to remove them once the real interface is defined. Anybody who uses
> your SoC specific wrappers is going to have to re-write their code,
> when it all gets ripped out.

Yeah, I agree. But what about just merge the implementation and
then construct the interface? I mean just creating the internal
parameters in stmmac and then the configuration functions.

>
> You generally don't add device SoC specific wrappers. Imagine if
> everybody did that. Lots of different ways of doing the same thing.
> My suggesting is to keep your patches out for the moment, waiting for
> generic support to be added.

I think we should take advantage of the fact that this is working
and ready to be merged. Its just HW configuration but maybe it
can serve as momentum for other drivers to also integrate this?

Best Regards,
Jose Miguel Abreu

>
>      Andrew

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
  2017-10-27  9:05               ` Jose Abreu
@ 2017-10-27 12:29                 ` Giuseppe CAVALLARO
  -1 siblings, 0 replies; 32+ messages in thread
From: Giuseppe CAVALLARO @ 2017-10-27 12:29 UTC (permalink / raw)
  To: Jose Abreu, Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Alexandre Torgue, Rob Herring

Hello

On 10/27/2017 11:05 AM, Jose Abreu wrote:
> I think we should take advantage of the fact that this is working
> and ready to be merged. Its just HW configuration but maybe it
> can serve as momentum for other drivers to also integrate this?

Let me propose to have it now in the next-next.

This support is for dwmac 5.x so no disturb for the common
driver APIs and there is no risk to have regressions, IMO.

IIUC, you already tested it on a real environment that
sounds to be very good progress.

Regards
Peppe

> Best Regards,
> Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-27 12:29                 ` Giuseppe CAVALLARO
  0 siblings, 0 replies; 32+ messages in thread
From: Giuseppe CAVALLARO @ 2017-10-27 12:29 UTC (permalink / raw)
  To: Jose Abreu, Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Alexandre Torgue, Rob Herring

Hello

On 10/27/2017 11:05 AM, Jose Abreu wrote:
> I think we should take advantage of the fact that this is working
> and ready to be merged. Its just HW configuration but maybe it
> can serve as momentum for other drivers to also integrate this?

Let me propose to have it now in the next-next.

This support is for dwmac 5.x so no disturb for the common
driver APIs and there is no risk to have regressions, IMO.

IIUC, you already tested it on a real environment that
sounds to be very good progress.

Regards
Peppe

> Best Regards,
> Jose Miguel Abreu

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-27 13:50                   ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27 13:50 UTC (permalink / raw)
  To: Giuseppe CAVALLARO, Andrew Lunn
  Cc: Florian Fainelli, netdev, linux-kernel, devicetree,
	David S. Miller, Joao Pinto, Alexandre Torgue, Rob Herring

Hi Peppe,

On 27-10-2017 13:29, Giuseppe CAVALLARO wrote:
> Hello
>
> On 10/27/2017 11:05 AM, Jose Abreu wrote:
>> I think we should take advantage of the fact that this is working
>> and ready to be merged. Its just HW configuration but maybe it
>> can serve as momentum for other drivers to also integrate this?
>
> Let me propose to have it now in the next-next.
>
> This support is for dwmac 5.x so no disturb for the common
> driver APIs and there is no risk to have regressions, IMO.
>
> IIUC, you already tested it on a real environment that
> sounds to be very good progress.

Ok, I will drop this documentation patch and the DT parsing and
send a new version.

Best Regards,
Jose Miguel Abreu

>
> Regards
> Peppe
>
>> Best Regards,
>> Jose Miguel Abreu
>
>

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-27 13:50                   ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27 13:50 UTC (permalink / raw)
  To: Giuseppe CAVALLARO, Andrew Lunn
  Cc: Florian Fainelli, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, David S. Miller, Joao Pinto,
	Alexandre Torgue, Rob Herring

Hi Peppe,

On 27-10-2017 13:29, Giuseppe CAVALLARO wrote:
> Hello
>
> On 10/27/2017 11:05 AM, Jose Abreu wrote:
>> I think we should take advantage of the fact that this is working
>> and ready to be merged. Its just HW configuration but maybe it
>> can serve as momentum for other drivers to also integrate this?
>
> Let me propose to have it now in the next-next.
>
> This support is for dwmac 5.x so no disturb for the common
> driver APIs and there is no risk to have regressions, IMO.
>
> IIUC, you already tested it on a real environment that
> sounds to be very good progress.

Ok, I will drop this documentation patch and the DT parsing and
send a new version.

Best Regards,
Jose Miguel Abreu

>
> Regards
> Peppe
>
>> Best Regards,
>> Jose Miguel Abreu
>
>

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-27 13:50                   ` Jose Abreu
  0 siblings, 0 replies; 32+ messages in thread
From: Jose Abreu @ 2017-10-27 13:50 UTC (permalink / raw)
  To: Giuseppe CAVALLARO, Andrew Lunn
  Cc: Florian Fainelli, netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, David S. Miller, Joao Pinto,
	Alexandre Torgue, Rob Herring

Hi Peppe,

On 27-10-2017 13:29, Giuseppe CAVALLARO wrote:
> Hello
>
> On 10/27/2017 11:05 AM, Jose Abreu wrote:
>> I think we should take advantage of the fact that this is working
>> and ready to be merged. Its just HW configuration but maybe it
>> can serve as momentum for other drivers to also integrate this?
>
> Let me propose to have it now in the next-next.
>
> This support is for dwmac 5.x so no disturb for the common
> driver APIs and there is no risk to have regressions, IMO.
>
> IIUC, you already tested it on a real environment that
> sounds to be very good progress.

Ok, I will drop this documentation patch and the DT parsing and
send a new version.

Best Regards,
Jose Miguel Abreu

>
> Regards
> Peppe
>
>> Best Regards,
>> Jose Miguel Abreu
>
>

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-27 15:45                     ` Richard Cochran
  0 siblings, 0 replies; 32+ messages in thread
From: Richard Cochran @ 2017-10-27 15:45 UTC (permalink / raw)
  To: Jose Abreu
  Cc: Giuseppe CAVALLARO, Andrew Lunn, Florian Fainelli, netdev,
	linux-kernel, devicetree, David S. Miller, Joao Pinto,
	Alexandre Torgue, Rob Herring

On Fri, Oct 27, 2017 at 02:50:05PM +0100, Jose Abreu wrote:
> Ok, I will drop this documentation patch and the DT parsing and
> send a new version.

Please put me and the other interested parties (see the TSN threads on
LKML) onto CC.

Thanks,
Richard

^ permalink raw reply	[flat|nested] 32+ messages in thread

* Re: [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters
@ 2017-10-27 15:45                     ` Richard Cochran
  0 siblings, 0 replies; 32+ messages in thread
From: Richard Cochran @ 2017-10-27 15:45 UTC (permalink / raw)
  To: Jose Abreu
  Cc: Giuseppe CAVALLARO, Andrew Lunn, Florian Fainelli,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, David S. Miller, Joao Pinto,
	Alexandre Torgue, Rob Herring

On Fri, Oct 27, 2017 at 02:50:05PM +0100, Jose Abreu wrote:
> Ok, I will drop this documentation patch and the DT parsing and
> send a new version.

Please put me and the other interested parties (see the TSN threads on
LKML) onto CC.

Thanks,
Richard
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2017-10-27 15:45 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-25 14:02 [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN Jose Abreu
2017-10-25 14:04 ` [PATCH net-next 1/2] net: stmmac: Add support for DWMAC5 with TSN features Jose Abreu
2017-10-25 14:04   ` Jose Abreu
2017-10-25 14:04 ` [PATCH net-next 2/2] bindings: net: stmmac: Add documentation for TSN parameters Jose Abreu
2017-10-25 19:34   ` Florian Fainelli
2017-10-25 19:34     ` Florian Fainelli
2017-10-26  7:54     ` Jose Abreu
2017-10-26  7:54       ` Jose Abreu
2017-10-26  7:54       ` Jose Abreu
2017-10-26  9:03       ` Andrew Lunn
2017-10-26  9:19         ` Jose Abreu
2017-10-26  9:19           ` Jose Abreu
2017-10-26  9:19           ` Jose Abreu
2017-10-26 10:08         ` Jose Abreu
2017-10-26 10:08           ` Jose Abreu
2017-10-26 16:23           ` Jesus Sanchez-Palencia
2017-10-27  8:53             ` Jose Abreu
2017-10-27  8:53               ` Jose Abreu
2017-10-26 21:56           ` Andrew Lunn
2017-10-26 21:56             ` Andrew Lunn
2017-10-27  9:05             ` Jose Abreu
2017-10-27  9:05               ` Jose Abreu
2017-10-27 12:29               ` Giuseppe CAVALLARO
2017-10-27 12:29                 ` Giuseppe CAVALLARO
2017-10-27 13:50                 ` Jose Abreu
2017-10-27 13:50                   ` Jose Abreu
2017-10-27 13:50                   ` Jose Abreu
2017-10-27 15:45                   ` Richard Cochran
2017-10-27 15:45                     ` Richard Cochran
2017-10-26 16:28 ` [PATCH net-next 0/2] net: stmmac: Support DWMAC5 and TSN Jesus Sanchez-Palencia
2017-10-27  8:46   ` Jose Abreu
2017-10-27  8:46     ` Jose Abreu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.