mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-27 01:11:14 +00:00
db9e9e8382
Refreshed all patches. Altered patches: - 707-dpaa-ethernet-support-layerscape.patch Remove upstreamed: - 034-v4.20-MIPS-BCM47XX-Enable-USB-power-on-Netgear-WNDR3400v3.patch - 001-4.21-01-BCM63XX-fix-switch-core-reset-on-BCM6368.patch - 073-qcom-ipq4019-fix-cpu0-s-qcom-saw2-reg-value.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
73 lines
2.1 KiB
Diff
73 lines
2.1 KiB
Diff
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) {
|