From 73936e77ea5808a17cd996c976adbc379867ba9f Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Mon, 25 May 2020 12:02:08 +0200 Subject: octeontx: remove support for kernel 4.14 Kernel 5.4 is stable for about two months now and there is only a few patches anyway, so this is mostly upstream stuff. Therefore, it does not look like we need to keep old 4.14 around any longer. Signed-off-by: Adrian Schmutzler --- ...x-add-support-for-rgmii-internal-delay-mo.patch | 139 --------------------- 1 file changed, 139 deletions(-) delete mode 100644 target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch (limited to 'target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch') diff --git a/target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch b/target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch deleted file mode 100644 index 212b6ddd80..0000000000 --- a/target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch +++ /dev/null @@ -1,139 +0,0 @@ -From 69a99101748bb1bdb2730393ef48bc152c4d244a Mon Sep 17 00:00:00 2001 -From: Tim Harvey -Date: Tue, 12 Dec 2017 12:49:55 -0800 -Subject: [PATCH] net: thunderx: add support for rgmii internal delay modes - -The XCV_DLL_CTL is being configured with the assumption that -phy-mode is rgmii-txid (PHY_INTERFACE_MODE_RGMII_TXID) which is not always -the case. - -This patch parses the phy-mode property and uses it to configure CXV_DLL_CTL -properly. - -Signed-off-by: Tim Harvey ---- - drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 13 +++++++--- - drivers/net/ethernet/cavium/thunder/thunder_bgx.h | 2 +- - drivers/net/ethernet/cavium/thunder/thunder_xcv.c | 31 ++++++++++++++++++----- - 3 files changed, 35 insertions(+), 11 deletions(-) - ---- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -@@ -55,6 +55,7 @@ struct bgx { - struct pci_dev *pdev; - bool is_dlm; - bool is_rgx; -+ int phy_mode; - }; - - static struct bgx *bgx_vnic[MAX_BGX_THUNDER]; -@@ -850,12 +851,12 @@ static void bgx_poll_for_link(struct wor - queue_delayed_work(lmac->check_link, &lmac->dwork, HZ * 2); - } - --static int phy_interface_mode(u8 lmac_type) -+static int phy_interface_mode(struct bgx *bgx, u8 lmac_type) - { - if (lmac_type == BGX_MODE_QSGMII) - return PHY_INTERFACE_MODE_QSGMII; - if (lmac_type == BGX_MODE_RGMII) -- return PHY_INTERFACE_MODE_RGMII; -+ return bgx->phy_mode; - - return PHY_INTERFACE_MODE_SGMII; - } -@@ -921,7 +922,8 @@ static int bgx_lmac_enable(struct bgx *b - - if (phy_connect_direct(&lmac->netdev, lmac->phydev, - bgx_lmac_handler, -- phy_interface_mode(lmac->lmac_type))) -+ phy_interface_mode(bgx, -+ lmac->lmac_type))) - return -ENODEV; - - phy_start(lmac->phydev); -@@ -1296,6 +1298,8 @@ static int bgx_init_of_phy(struct bgx *b - bgx->lmac[lmac].lmacid = lmac; - - phy_np = of_parse_phandle(node, "phy-handle", 0); -+ if (phy_np) -+ bgx->phy_mode = of_get_phy_mode(phy_np); - /* If there is no phy or defective firmware presents - * this cortina phy, for which there is no driver - * support, ignore it. -@@ -1441,7 +1445,6 @@ static int bgx_probe(struct pci_dev *pde - bgx->max_lmac = 1; - bgx->bgx_id = MAX_BGX_PER_CN81XX - 1; - bgx_vnic[bgx->bgx_id] = bgx; -- xcv_init_hw(); - } - - /* On 81xx all are DLMs and on 83xx there are 3 BGX QLMs and one -@@ -1458,6 +1461,8 @@ static int bgx_probe(struct pci_dev *pde - if (err) - goto err_enable; - -+ if (bgx->is_rgx) -+ xcv_init_hw(bgx->phy_mode); - bgx_init_hw(bgx); - - bgx_register_intr(pdev); ---- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h -+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h -@@ -235,7 +235,7 @@ void bgx_lmac_internal_loopback(int node - void bgx_lmac_get_pfc(int node, int bgx_idx, int lmacid, void *pause); - void bgx_lmac_set_pfc(int node, int bgx_idx, int lmacid, void *pause); - --void xcv_init_hw(void); -+void xcv_init_hw(int phy_mode); - void xcv_setup_link(bool link_up, int link_speed); - - u64 bgx_get_rx_stats(int node, int bgx_idx, int lmac, int idx); ---- a/drivers/net/ethernet/cavium/thunder/thunder_xcv.c -+++ b/drivers/net/ethernet/cavium/thunder/thunder_xcv.c -@@ -65,7 +65,7 @@ MODULE_LICENSE("GPL v2"); - MODULE_VERSION(DRV_VERSION); - MODULE_DEVICE_TABLE(pci, xcv_id_table); - --void xcv_init_hw(void) -+void xcv_init_hw(int phy_mode) - { - u64 cfg; - -@@ -81,12 +81,31 @@ void xcv_init_hw(void) - /* Wait for DLL to lock */ - msleep(1); - -- /* Configure DLL - enable or bypass -- * TX no bypass, RX bypass -- */ -+ /* enable/bypass DLL providing MAC based internal TX/RX delays */ - cfg = readq_relaxed(xcv->reg_base + XCV_DLL_CTL); -- cfg &= ~0xFF03; -- cfg |= CLKRX_BYP; -+ cfg &= ~0xffff00; -+ switch (phy_mode) { -+ /* RX and TX delays are added by the MAC */ -+ case PHY_INTERFACE_MODE_RGMII: -+ break; -+ /* internal RX and TX delays provided by the PHY */ -+ case PHY_INTERFACE_MODE_RGMII_ID: -+ cfg |= CLKRX_BYP; -+ cfg |= CLKTX_BYP; -+ break; -+ /* internal RX delay provided by the PHY, the MAC -+ * should not add an RX delay in this case -+ */ -+ case PHY_INTERFACE_MODE_RGMII_RXID: -+ cfg |= CLKRX_BYP; -+ break; -+ /* internal TX delay provided by the PHY, the MAC -+ * should not add an TX delay in this case -+ */ -+ case PHY_INTERFACE_MODE_RGMII_TXID: -+ cfg |= CLKRX_BYP; -+ break; -+ } - writeq_relaxed(cfg, xcv->reg_base + XCV_DLL_CTL); - - /* Enable compensation controller and force the -- cgit v1.2.3