diff options
author | Daniel Golle <daniel@makrotopia.org> | 2022-03-21 01:16:48 +0000 |
---|---|---|
committer | Paul Spooren <mail@aparcar.org> | 2022-03-21 11:36:30 +0000 |
commit | 3a14580411adfb75f9a44eded9f41245b9e44606 (patch) | |
tree | c3002cc1a0948bfedc4475d7276da0b3ebd4775c /target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch | |
parent | 9f9477b2751231d57cdd8c227149b88c93491d93 (diff) | |
download | upstream-3a14580411adfb75f9a44eded9f41245b9e44606.tar.gz upstream-3a14580411adfb75f9a44eded9f41245b9e44606.tar.bz2 upstream-3a14580411adfb75f9a44eded9f41245b9e44606.zip |
kernel: delete Linux 5.4 config and patches
As the upcoming release will be based on Linux 5.10 only, remove all
kernel configuration as well as patches for Linux 5.4.
There were no targets still actively using Linux 5.4.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch b/target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch deleted file mode 100644 index 965212ed54..0000000000 --- a/target/linux/layerscape/patches-5.4/701-net-0199-dpaa2-eth-Add-DCB-ops.patch +++ /dev/null @@ -1,154 +0,0 @@ -From a893019278e8030fbe251cdaa9d93b8257d1c083 Mon Sep 17 00:00:00 2001 -From: Ioana Radulescu <ruxandra.radulescu@nxp.com> -Date: Thu, 5 Sep 2019 19:31:32 +0300 -Subject: [PATCH] dpaa2-eth: Add DCB ops - -Add a skeleton implementation of DCB PFC ops. Actual hardware -configuration to be added in further commits. - -Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> ---- - drivers/net/ethernet/freescale/dpaa2/Kconfig | 9 +++ - drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 84 ++++++++++++++++++++++++ - drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 5 ++ - 3 files changed, 98 insertions(+) - ---- a/drivers/net/ethernet/freescale/dpaa2/Kconfig -+++ b/drivers/net/ethernet/freescale/dpaa2/Kconfig -@@ -8,6 +8,15 @@ config FSL_DPAA2_ETH - The driver manages network objects discovered on the Freescale - MC bus. - -+if FSL_DPAA2_ETH -+config FSL_DPAA2_ETH_DCB -+ bool "Data Center Bridging (DCB) Support" -+ default n -+ depends on DCB -+ help -+ Enable Priority-Based Flow Control (PFC) support in the driver -+endif -+ - config FSL_DPAA2_PTP_CLOCK - tristate "Freescale DPAA2 PTP Clock" - depends on FSL_DPAA2_ETH && PTP_1588_CLOCK_QORIQ ---- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c -+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c -@@ -3614,6 +3614,81 @@ static void del_ch_napi(struct dpaa2_eth - } - } - -+#ifdef CONFIG_FSL_DPAA2_ETH_DCB -+static int dpaa2_eth_dcbnl_ieee_getpfc(struct net_device *net_dev, -+ struct ieee_pfc *pfc) -+{ -+ struct dpaa2_eth_priv *priv = netdev_priv(net_dev); -+ -+ memcpy(pfc, &priv->pfc, sizeof(priv->pfc)); -+ pfc->pfc_cap = dpaa2_eth_tc_count(priv); -+ -+ return 0; -+} -+ -+static int dpaa2_eth_dcbnl_ieee_setpfc(struct net_device *net_dev, -+ struct ieee_pfc *pfc) -+{ -+ struct dpaa2_eth_priv *priv = netdev_priv(net_dev); -+ -+ if (pfc->mbc || pfc->delay) -+ return -EOPNOTSUPP; -+ -+ /* If same PFC enabled mask, nothing to do */ -+ if (priv->pfc.pfc_en == pfc->pfc_en) -+ return 0; -+ -+ memcpy(&priv->pfc, pfc, sizeof(priv->pfc)); -+ -+ return 0; -+} -+ -+static u8 dpaa2_eth_dcbnl_getdcbx(struct net_device *net_dev) -+{ -+ struct dpaa2_eth_priv *priv = netdev_priv(net_dev); -+ -+ return priv->dcbx_mode; -+} -+ -+static u8 dpaa2_eth_dcbnl_setdcbx(struct net_device *net_dev, u8 mode) -+{ -+ struct dpaa2_eth_priv *priv = netdev_priv(net_dev); -+ -+ priv->dcbx_mode = mode; -+ return 0; -+} -+ -+static u8 dpaa2_eth_dcbnl_getcap(struct net_device *net_dev, int capid, u8 *cap) -+{ -+ struct dpaa2_eth_priv *priv = netdev_priv(net_dev); -+ -+ switch (capid) { -+ case DCB_CAP_ATTR_PFC: -+ *cap = true; -+ break; -+ case DCB_CAP_ATTR_PFC_TCS: -+ *cap = 1 << (dpaa2_eth_tc_count(priv) - 1); -+ break; -+ case DCB_CAP_ATTR_DCBX: -+ *cap = priv->dcbx_mode; -+ break; -+ default: -+ *cap = false; -+ break; -+ } -+ -+ return 0; -+} -+ -+const struct dcbnl_rtnl_ops dpaa2_eth_dcbnl_ops = { -+ .ieee_getpfc = dpaa2_eth_dcbnl_ieee_getpfc, -+ .ieee_setpfc = dpaa2_eth_dcbnl_ieee_setpfc, -+ .getdcbx = dpaa2_eth_dcbnl_getdcbx, -+ .setdcbx = dpaa2_eth_dcbnl_setdcbx, -+ .getcap = dpaa2_eth_dcbnl_getcap, -+}; -+#endif -+ - static int dpaa2_eth_probe(struct fsl_mc_device *dpni_dev) - { - struct device *dev; -@@ -3703,6 +3778,15 @@ static int dpaa2_eth_probe(struct fsl_mc - if (err) - goto err_alloc_rings; - -+#ifdef CONFIG_FSL_DPAA2_ETH_DCB -+ if (dpaa2_eth_has_pause_support(priv) && priv->vlan_cls_enabled) { -+ priv->dcbx_mode = DCB_CAP_DCBX_HOST | DCB_CAP_DCBX_VER_IEEE; -+ net_dev->dcbnl_ops = &dpaa2_eth_dcbnl_ops; -+ } else { -+ dev_dbg(dev, "PFC not supported\n"); -+ } -+#endif -+ - err = setup_irqs(dpni_dev); - if (err) { - netdev_warn(net_dev, "Failed to set link interrupt, fall back to polling\n"); ---- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h -+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h -@@ -6,6 +6,7 @@ - #ifndef __DPAA2_ETH_H - #define __DPAA2_ETH_H - -+#include <linux/dcbnl.h> - #include <linux/netdevice.h> - #include <linux/if_vlan.h> - #include <linux/fsl/mc.h> -@@ -423,6 +424,10 @@ struct dpaa2_eth_priv { - struct dpaa2_eth_cls_rule *cls_rules; - u8 rx_cls_enabled; - u8 vlan_cls_enabled; -+#ifdef CONFIG_FSL_DPAA2_ETH_DCB -+ u8 dcbx_mode; -+ struct ieee_pfc pfc; -+#endif - struct bpf_prog *xdp_prog; - #ifdef CONFIG_DEBUG_FS - struct dpaa2_debugfs dbg; |