aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm63xx/patches-4.14/001-4.16-02-bcm63xx_enet-use-platform-data-for-dma-channel-numbe.patch
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-08 20:33:30 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-14 14:10:51 +0100
commite7bfda2c243e66a75ff966ba04c28b1590b5d24c (patch)
tree069959b7e6a8cf31b0feb2857a63c7c4c0e3dcbf /target/linux/bcm63xx/patches-4.14/001-4.16-02-bcm63xx_enet-use-platform-data-for-dma-channel-numbe.patch
parent8fe5ad5d3373cebed4fbc55a7b779721971ce427 (diff)
downloadupstream-e7bfda2c243e66a75ff966ba04c28b1590b5d24c.tar.gz
upstream-e7bfda2c243e66a75ff966ba04c28b1590b5d24c.tar.bz2
upstream-e7bfda2c243e66a75ff966ba04c28b1590b5d24c.zip
brcm63xx: rename target to bcm63xx
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/bcm63xx/patches-4.14/001-4.16-02-bcm63xx_enet-use-platform-data-for-dma-channel-numbe.patch')
-rw-r--r--target/linux/bcm63xx/patches-4.14/001-4.16-02-bcm63xx_enet-use-platform-data-for-dma-channel-numbe.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/patches-4.14/001-4.16-02-bcm63xx_enet-use-platform-data-for-dma-channel-numbe.patch b/target/linux/bcm63xx/patches-4.14/001-4.16-02-bcm63xx_enet-use-platform-data-for-dma-channel-numbe.patch
new file mode 100644
index 0000000000..f3ddd7445c
--- /dev/null
+++ b/target/linux/bcm63xx/patches-4.14/001-4.16-02-bcm63xx_enet-use-platform-data-for-dma-channel-numbe.patch
@@ -0,0 +1,72 @@
+From b7d1d1f345bb3b25c360c1df812d98866e2ee7fb Mon Sep 17 00:00:00 2001
+From: Jonas Gorski <jonas.gorski@gmail.com>
+Date: Sat, 30 Sep 2017 13:50:03 +0200
+Subject: [PATCH 2/4] bcm63xx_enet: use platform data for dma channel numbers
+
+To reduce the reliance on device ids, pass the dma channel numbers to
+the enet devices as platform data.
+
+Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
+---
+ arch/mips/bcm63xx/dev-enet.c | 8 ++++++++
+ arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h | 4 ++++
+ drivers/net/ethernet/broadcom/bcm63xx_enet.c | 11 ++---------
+ 3 files changed, 14 insertions(+), 9 deletions(-)
+
+--- a/arch/mips/bcm63xx/dev-enet.c
++++ b/arch/mips/bcm63xx/dev-enet.c
+@@ -265,6 +265,14 @@ int __init bcm63xx_enet_register(int uni
+ dpd->dma_chan_width = ENETDMA_CHAN_WIDTH;
+ }
+
++ if (unit == 0) {
++ dpd->rx_chan = 0;
++ dpd->tx_chan = 1;
++ } else {
++ dpd->rx_chan = 2;
++ dpd->tx_chan = 3;
++ }
++
+ ret = platform_device_register(pdev);
+ if (ret)
+ return ret;
+--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h
++++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_enet.h
+@@ -55,6 +55,10 @@ struct bcm63xx_enet_platform_data {
+
+ /* DMA descriptor shift */
+ unsigned int dma_desc_shift;
++
++ /* dma channel ids */
++ int rx_chan;
++ int tx_chan;
+ };
+
+ /*
+--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c
++++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c
+@@ -1756,15 +1756,6 @@ static int bcm_enet_probe(struct platfor
+ priv->irq_tx = res_irq_tx->start;
+ priv->mac_id = pdev->id;
+
+- /* get rx & tx dma channel id for this mac */
+- if (priv->mac_id == 0) {
+- priv->rx_chan = 0;
+- priv->tx_chan = 1;
+- } else {
+- priv->rx_chan = 2;
+- priv->tx_chan = 3;
+- }
+-
+ priv->mac_clk = devm_clk_get(&pdev->dev, "enet");
+ if (IS_ERR(priv->mac_clk)) {
+ ret = PTR_ERR(priv->mac_clk);
+@@ -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;
++ priv->rx_chan = pd->rx_chan;
++ priv->tx_chan = pd->tx_chan;
+ }
+
+ if (priv->mac_id == 0 && priv->has_phy && !priv->use_external_mii) {