mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-18 17:33:31 +00:00
bcm63xx: refresh patches (#4372)
This commit is contained in:
parent
b7e9fc662c
commit
c33118190f
@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -1722,10 +1722,8 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1723,10 +1723,8 @@ static int bcm_enet_probe(struct platfor
|
||||
const char *clk_name;
|
||||
int i, ret;
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
res_irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
|
||||
res_irq_rx = platform_get_resource(pdev, IORESOURCE_IRQ, 1);
|
||||
@@ -2700,11 +2698,8 @@ static int bcm_enetsw_probe(struct platf
|
||||
@@ -2701,11 +2699,8 @@ static int bcm_enetsw_probe(struct platf
|
||||
struct resource *res_mem;
|
||||
int ret, irq_rx, irq_tx;
|
||||
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -1767,14 +1767,14 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1768,14 +1768,14 @@ static int bcm_enet_probe(struct platfor
|
||||
clk_name = "enet1";
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
/* initialize default and fetch platform data */
|
||||
priv->rx_ring_size = BCMENET_DEF_RX_DESC;
|
||||
@@ -1802,7 +1802,7 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1803,7 +1803,7 @@ static int bcm_enet_probe(struct platfor
|
||||
|
||||
if (priv->mac_id == 0 && priv->has_phy && !priv->use_external_mii) {
|
||||
/* using internal PHY, enable clock */
|
||||
@ -39,7 +39,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
if (IS_ERR(priv->phy_clk)) {
|
||||
ret = PTR_ERR(priv->phy_clk);
|
||||
priv->phy_clk = NULL;
|
||||
@@ -1810,7 +1810,7 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1811,7 +1811,7 @@ static int bcm_enet_probe(struct platfor
|
||||
}
|
||||
ret = clk_prepare_enable(priv->phy_clk);
|
||||
if (ret)
|
||||
@ -48,7 +48,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
}
|
||||
|
||||
/* do minimal hardware init to be able to probe mii bus */
|
||||
@@ -1907,14 +1907,8 @@ out_uninit_hw:
|
||||
@@ -1908,14 +1908,8 @@ out_uninit_hw:
|
||||
if (priv->phy_clk)
|
||||
clk_disable_unprepare(priv->phy_clk);
|
||||
|
||||
@ -63,7 +63,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
out:
|
||||
free_netdev(dev);
|
||||
return ret;
|
||||
@@ -1950,12 +1944,10 @@ static int bcm_enet_remove(struct platfo
|
||||
@@ -1951,12 +1945,10 @@ static int bcm_enet_remove(struct platfo
|
||||
}
|
||||
|
||||
/* disable hw block clocks */
|
||||
@ -78,7 +78,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
free_netdev(dev);
|
||||
return 0;
|
||||
@@ -2738,26 +2730,20 @@ static int bcm_enetsw_probe(struct platf
|
||||
@@ -2739,26 +2731,20 @@ static int bcm_enetsw_probe(struct platf
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
@ -111,7 +111,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
priv->rx_chan = 0;
|
||||
priv->tx_chan = 1;
|
||||
@@ -2789,15 +2775,6 @@ static int bcm_enetsw_probe(struct platf
|
||||
@@ -2790,15 +2776,6 @@ static int bcm_enetsw_probe(struct platf
|
||||
|
||||
out_disable_clk:
|
||||
clk_disable_unprepare(priv->mac_clk);
|
||||
@ -127,7 +127,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
out:
|
||||
free_netdev(dev);
|
||||
return ret;
|
||||
@@ -2809,20 +2786,13 @@ static int bcm_enetsw_remove(struct plat
|
||||
@@ -2810,20 +2787,13 @@ static int bcm_enetsw_remove(struct plat
|
||||
{
|
||||
struct bcm_enet_priv *priv;
|
||||
struct net_device *dev;
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -1904,8 +1904,7 @@ out_free_mdio:
|
||||
@@ -1905,8 +1905,7 @@ out_free_mdio:
|
||||
out_uninit_hw:
|
||||
/* turn off mdc clock */
|
||||
enet_writel(priv, 0, ENET_MIISC_REG);
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
out_disable_clk_mac:
|
||||
clk_disable_unprepare(priv->mac_clk);
|
||||
@@ -1944,9 +1943,7 @@ static int bcm_enet_remove(struct platfo
|
||||
@@ -1945,9 +1944,7 @@ static int bcm_enet_remove(struct platfo
|
||||
}
|
||||
|
||||
/* disable hw block clocks */
|
||||
|
@ -13,7 +13,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -1719,7 +1719,6 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1720,7 +1720,6 @@ static int bcm_enet_probe(struct platfor
|
||||
struct bcm63xx_enet_platform_data *pd;
|
||||
struct resource *res_mem, *res_irq, *res_irq_rx, *res_irq_tx;
|
||||
struct mii_bus *bus;
|
||||
@ -21,7 +21,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
int i, ret;
|
||||
|
||||
if (!bcm_enet_shared_base[0])
|
||||
@@ -1760,14 +1759,12 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1761,14 +1760,12 @@ static int bcm_enet_probe(struct platfor
|
||||
if (priv->mac_id == 0) {
|
||||
priv->rx_chan = 0;
|
||||
priv->tx_chan = 1;
|
||||
|
@ -45,7 +45,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
/*
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -1755,15 +1755,6 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1756,15 +1756,6 @@ static int bcm_enet_probe(struct platfor
|
||||
priv->irq_tx = res_irq_tx->start;
|
||||
priv->mac_id = pdev->id;
|
||||
|
||||
@ -61,7 +61,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
|
||||
if (IS_ERR(priv->mac_clk)) {
|
||||
ret = PTR_ERR(priv->mac_clk);
|
||||
@@ -1795,6 +1786,8 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1796,6 +1787,8 @@ static int bcm_enet_probe(struct platfor
|
||||
priv->dma_chan_width = pd->dma_chan_width;
|
||||
priv->dma_has_sram = pd->dma_has_sram;
|
||||
priv->dma_desc_shift = pd->dma_desc_shift;
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -1790,7 +1790,7 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1791,7 +1791,7 @@ static int bcm_enet_probe(struct platfor
|
||||
priv->tx_chan = pd->tx_chan;
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -1753,7 +1753,6 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1754,7 +1754,6 @@ static int bcm_enet_probe(struct platfor
|
||||
dev->irq = priv->irq = res_irq->start;
|
||||
priv->irq_rx = res_irq_rx->start;
|
||||
priv->irq_tx = res_irq_tx->start;
|
||||
@ -23,7 +23,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
|
||||
if (IS_ERR(priv->mac_clk)) {
|
||||
@@ -1821,7 +1820,7 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1822,7 +1821,7 @@ static int bcm_enet_probe(struct platfor
|
||||
bus->priv = priv;
|
||||
bus->read = bcm_enet_mdio_read_phylib;
|
||||
bus->write = bcm_enet_mdio_write_phylib;
|
||||
|
@ -1,26 +0,0 @@
|
||||
From f1af8bb8e0879a3c2d9679a7274c2774335e9876 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
Date: Wed, 14 Nov 2018 12:06:41 +0100
|
||||
Subject: [PATCH] MIPS: BCM63XX: fix switch core reset on BCM6368
|
||||
|
||||
The Ethernet Switch core mask was set to 0, causing the switch core to
|
||||
be not reset on BCM6368 on boot. Provide the proper mask so the switch
|
||||
core gets reset to a known good state.
|
||||
|
||||
Fixes: 799faa626c71 ("MIPS: BCM63XX: add core reset helper")
|
||||
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
---
|
||||
arch/mips/bcm63xx/reset.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/mips/bcm63xx/reset.c
|
||||
+++ b/arch/mips/bcm63xx/reset.c
|
||||
@@ -120,7 +120,7 @@
|
||||
#define BCM6368_RESET_DSL 0
|
||||
#define BCM6368_RESET_SAR SOFTRESET_6368_SAR_MASK
|
||||
#define BCM6368_RESET_EPHY SOFTRESET_6368_EPHY_MASK
|
||||
-#define BCM6368_RESET_ENETSW 0
|
||||
+#define BCM6368_RESET_ENETSW SOFTRESET_6368_ENETSW_MASK
|
||||
#define BCM6368_RESET_PCM SOFTRESET_6368_PCM_MASK
|
||||
#define BCM6368_RESET_MPI SOFTRESET_6368_MPI_MASK
|
||||
#define BCM6368_RESET_PCIE 0
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -1636,7 +1636,7 @@ static int bcm_enet_change_mtu(struct ne
|
||||
@@ -1637,7 +1637,7 @@ static int bcm_enet_change_mtu(struct ne
|
||||
return -EBUSY;
|
||||
|
||||
/* add ethernet header + vlan tag size */
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -869,10 +869,8 @@ static int bcm_enet_open(struct net_devi
|
||||
@@ -870,10 +870,8 @@ static int bcm_enet_open(struct net_devi
|
||||
struct bcm_enet_priv *priv;
|
||||
struct sockaddr addr;
|
||||
struct device *kdev;
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
void *p;
|
||||
u32 val;
|
||||
|
||||
@@ -880,40 +878,10 @@ static int bcm_enet_open(struct net_devi
|
||||
@@ -881,40 +879,10 @@ static int bcm_enet_open(struct net_devi
|
||||
kdev = &priv->pdev->dev;
|
||||
|
||||
if (priv->has_phy) {
|
||||
@ -68,7 +68,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
}
|
||||
|
||||
/* mask all interrupts and request them */
|
||||
@@ -923,7 +891,7 @@ static int bcm_enet_open(struct net_devi
|
||||
@@ -924,7 +892,7 @@ static int bcm_enet_open(struct net_devi
|
||||
|
||||
ret = request_irq(dev->irq, bcm_enet_isr_mac, 0, dev->name, dev);
|
||||
if (ret)
|
||||
@ -77,7 +77,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
|
||||
ret = request_irq(priv->irq_rx, bcm_enet_isr_dma, 0,
|
||||
dev->name, dev);
|
||||
@@ -1085,8 +1053,8 @@ static int bcm_enet_open(struct net_devi
|
||||
@@ -1086,8 +1054,8 @@ static int bcm_enet_open(struct net_devi
|
||||
enet_dmac_writel(priv, priv->dma_chan_int_mask,
|
||||
ENETDMAC_IRMASK, priv->tx_chan);
|
||||
|
||||
@ -88,7 +88,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
else
|
||||
bcm_enet_adjust_link(dev);
|
||||
|
||||
@@ -1127,10 +1095,6 @@ out_freeirq_rx:
|
||||
@@ -1128,10 +1096,6 @@ out_freeirq_rx:
|
||||
out_freeirq:
|
||||
free_irq(dev->irq, dev);
|
||||
|
||||
@ -99,7 +99,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -1235,10 +1199,6 @@ static int bcm_enet_stop(struct net_devi
|
||||
@@ -1236,10 +1200,6 @@ static int bcm_enet_stop(struct net_devi
|
||||
free_irq(priv->irq_rx, dev);
|
||||
free_irq(dev->irq, dev);
|
||||
|
||||
@ -110,7 +110,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1804,14 +1764,49 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1805,14 +1765,49 @@ static int bcm_enet_probe(struct platfor
|
||||
|
||||
/* do minimal hardware init to be able to probe mii bus */
|
||||
bcm_enet_hw_preinit(priv);
|
||||
@ -161,7 +161,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
}
|
||||
|
||||
bus = priv->mii_bus;
|
||||
@@ -1835,6 +1830,35 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1836,6 +1831,35 @@ static int bcm_enet_probe(struct platfor
|
||||
dev_err(&pdev->dev, "unable to register mdio bus\n");
|
||||
goto out_free_mdio;
|
||||
}
|
||||
@ -197,7 +197,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
} else {
|
||||
|
||||
/* run platform code to initialize PHY device */
|
||||
@@ -1842,47 +1866,16 @@ static int bcm_enet_probe(struct platfor
|
||||
@@ -1843,47 +1867,16 @@ static int bcm_enet_probe(struct platfor
|
||||
pd->mii_config(dev, 1, bcm_enet_mdio_read_mii,
|
||||
bcm_enet_mdio_write_mii)) {
|
||||
dev_err(&pdev->dev, "unable to configure mdio bus\n");
|
||||
@ -249,7 +249,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
if (priv->mii_bus)
|
||||
mdiobus_unregister(priv->mii_bus);
|
||||
|
||||
@@ -1890,6 +1883,9 @@ out_free_mdio:
|
||||
@@ -1891,6 +1884,9 @@ out_free_mdio:
|
||||
if (priv->mii_bus)
|
||||
mdiobus_free(priv->mii_bus);
|
||||
|
||||
@ -259,7 +259,7 @@ Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
|
||||
out_uninit_hw:
|
||||
/* turn off mdc clock */
|
||||
enet_writel(priv, 0, ENET_MIISC_REG);
|
||||
@@ -1920,6 +1916,7 @@ static int bcm_enet_remove(struct platfo
|
||||
@@ -1921,6 +1917,7 @@ static int bcm_enet_remove(struct platfo
|
||||
enet_writel(priv, 0, ENET_MIISC_REG);
|
||||
|
||||
if (priv->has_phy) {
|
||||
|
@ -32,7 +32,7 @@ Subject: [PATCH 54/81] bcm63xx_enet: enable rgmii clock on external ports
|
||||
#define ENETSW_MDIOC_EXT_MASK (1 << 16)
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -2191,6 +2191,18 @@ static int bcm_enetsw_open(struct net_de
|
||||
@@ -2192,6 +2192,18 @@ static int bcm_enetsw_open(struct net_de
|
||||
priv->sw_port_link[i] = 0;
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
|
||||
#include <bcm63xx_dev_enet.h>
|
||||
#include "bcm63xx_enet.h"
|
||||
@@ -1936,7 +1937,8 @@ static int bcm_enet_remove(struct platfo
|
||||
@@ -1937,7 +1938,8 @@ static int bcm_enet_remove(struct platfo
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
.probe = bcm_enet_probe,
|
||||
.remove = bcm_enet_remove,
|
||||
.driver = {
|
||||
@@ -1945,6 +1947,42 @@ struct platform_driver bcm63xx_enet_driv
|
||||
@@ -1946,6 +1948,42 @@ struct platform_driver bcm63xx_enet_driv
|
||||
},
|
||||
};
|
||||
|
||||
@ -73,7 +73,7 @@
|
||||
/*
|
||||
* switch mii access callbacks
|
||||
*/
|
||||
@@ -2203,29 +2241,6 @@ static int bcm_enetsw_open(struct net_de
|
||||
@@ -2204,29 +2242,6 @@ static int bcm_enetsw_open(struct net_de
|
||||
enetsw_writeb(priv, rgmii_ctrl, ENETSW_RGMII_CTRL_REG(i));
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@
|
||||
/* initialize flow control buffer allocation */
|
||||
enet_dma_writel(priv, ENETDMA_BUFALLOC_FORCE_MASK | 0,
|
||||
ENETDMA_BUFALLOC_REG(priv->rx_chan));
|
||||
@@ -2684,6 +2699,9 @@ static int bcm_enetsw_probe(struct platf
|
||||
@@ -2685,6 +2700,9 @@ static int bcm_enetsw_probe(struct platf
|
||||
struct bcm63xx_enetsw_platform_data *pd;
|
||||
struct resource *res_mem;
|
||||
int ret, irq_rx, irq_tx;
|
||||
@ -113,7 +113,7 @@
|
||||
|
||||
if (!bcm_enet_shared_base[0])
|
||||
return -EPROBE_DEFER;
|
||||
@@ -2766,6 +2784,43 @@ static int bcm_enetsw_probe(struct platf
|
||||
@@ -2767,6 +2785,43 @@ static int bcm_enetsw_probe(struct platf
|
||||
priv->pdev = pdev;
|
||||
priv->net_dev = dev;
|
||||
|
||||
@ -157,7 +157,7 @@
|
||||
return 0;
|
||||
|
||||
out_disable_clk:
|
||||
@@ -2787,6 +2842,9 @@ static int bcm_enetsw_remove(struct plat
|
||||
@@ -2788,6 +2843,9 @@ static int bcm_enetsw_remove(struct plat
|
||||
priv = netdev_priv(dev);
|
||||
unregister_netdev(dev);
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -2743,9 +2743,9 @@ static int bcm_enetsw_probe(struct platf
|
||||
@@ -2744,9 +2744,9 @@ static int bcm_enetsw_probe(struct platf
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
|
||||
@@ -2238,6 +2238,10 @@ static int bcm_enetsw_open(struct net_de
|
||||
@@ -2239,6 +2239,10 @@ static int bcm_enetsw_open(struct net_de
|
||||
|
||||
rgmii_ctrl = enetsw_readb(priv, ENETSW_RGMII_CTRL_REG(i));
|
||||
rgmii_ctrl |= ENETSW_RGMII_CTRL_GMII_CLK_EN;
|
||||
|
Loading…
Reference in New Issue
Block a user