aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/apm821xx/patches-4.4/203-add-meraki-mx60-buckminster-support.patch6
-rw-r--r--target/linux/bcm53xx/patches-4.4/301-ARM-BCM5301X-Add-DT-for-Netgear-R7900.patch2
-rw-r--r--target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch2
-rw-r--r--target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch2
-rw-r--r--target/linux/generic/patches-4.4/070-0001-bgmac-fix-a-missing-check-for-build_skb.patch2
-rw-r--r--target/linux/generic/patches-4.4/070-0002-bgmac-Fix-reversed-test-of-build_skb-return-value.patch2
-rw-r--r--target/linux/generic/patches-4.4/071-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch12
-rw-r--r--target/linux/generic/patches-4.4/071-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch2
-rw-r--r--target/linux/generic/patches-4.4/071-0003-bgmac-reset-enable-Ethernet-core-before-using-it.patch2
-rw-r--r--target/linux/generic/patches-4.4/072-0001-bgmac-Bind-net_device-with-backing-device-structure.patch2
-rw-r--r--target/linux/generic/patches-4.4/072-0002-bgmac-Add-support-for-ethtool-statistics.patch4
-rw-r--r--target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch8
-rw-r--r--target/linux/generic/patches-4.4/073-0001-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch16
-rw-r--r--target/linux/generic/patches-4.4/074-0002-net-bgmac-Start-transmit-queue-in-bgmac_open.patch2
-rw-r--r--target/linux/generic/patches-4.4/074-0003-net-bgmac-Remove-superflous-netif_carrier_on.patch2
-rw-r--r--target/linux/generic/patches-4.4/075-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch48
-rw-r--r--target/linux/generic/patches-4.4/075-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch14
-rw-r--r--target/linux/generic/patches-4.4/075-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch18
-rw-r--r--target/linux/generic/patches-4.4/075-0004-net-ethernet-bgmac-convert-to-feature-flags.patch34
-rw-r--r--target/linux/generic/patches-4.4/075-0005-net-ethernet-bgmac-Add-platform-device-support.patch30
-rw-r--r--target/linux/generic/patches-4.4/077-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch4
-rw-r--r--target/linux/generic/patches-4.4/077-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch2
-rw-r--r--target/linux/generic/patches-4.4/077-0003-net-bgmac-Fix-errant-feature-flag-check.patch2
-rw-r--r--target/linux/generic/patches-4.4/077-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch2
-rw-r--r--target/linux/generic/patches-4.4/077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch54
-rw-r--r--target/linux/generic/patches-4.4/201-extra_optimization.patch2
-rw-r--r--target/linux/generic/patches-4.4/202-reduce_module_size.patch4
-rw-r--r--target/linux/generic/patches-4.4/902-debloat_proc.patch6
-rw-r--r--target/linux/ipq806x/patches-4.4/096-01-usb-dwc3-core-purge-dev_dbg-calls.patch8
-rw-r--r--target/linux/ipq806x/patches-4.4/096-02-usb-dwc3-Update-maximum_speed-for-SuperSpeedPlus.patch8
-rw-r--r--target/linux/ipq806x/patches-4.4/096-03-usb-dwc3-Validate-the-maximum_speed-parameter.patch16
-rw-r--r--target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch6
-rw-r--r--target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch10
-rw-r--r--target/linux/ipq806x/patches-4.4/096-06-usb-dwc3-core-improve-reset-sequence.patch35
-rw-r--r--target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch32
-rw-r--r--target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch32
-rw-r--r--target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch22
-rw-r--r--target/linux/ipq806x/patches-4.4/096-10-usb-dwc3-core-fix-PHY-handling-during-suspend.patch10
-rw-r--r--target/linux/ipq806x/patches-4.4/097-4-usb-dwc3-fix-missing-platform_set_drvdata-in-dwc3_of_simple_probe.patch6
-rw-r--r--target/linux/ipq806x/patches-4.4/112-ARM-dts-qcom-add-pcie-nodes-to-ipq806x-platforms.patch2
-rw-r--r--target/linux/ipq806x/patches-4.4/115-add-pcie-aux-clk-dts.patch6
-rw-r--r--target/linux/ipq806x/patches-4.4/157-ARM-DT-ipq8064-Add-ADM-device-node.patch2
-rw-r--r--target/linux/ipq806x/patches-4.4/164-arm-qcom-dts-Add-NAND-controller-node-for-ipq806x.patch2
-rw-r--r--target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch2
-rw-r--r--target/linux/lantiq/patches-4.4/0039-MIPS-lantiq-danube-initialize-usb-on-boot.patch4
-rw-r--r--target/linux/lantiq/patches-4.4/0047-poweroff.patch2
-rw-r--r--target/linux/layerscape/patches-4.4/3023-powerpc-fsl-move-mpc85xx.h-to-include-linux-fsl.patch2
-rw-r--r--target/linux/layerscape/patches-4.4/8073-ls1012a-added-clock-configuration.patch2
48 files changed, 189 insertions, 306 deletions
diff --git a/target/linux/apm821xx/patches-4.4/203-add-meraki-mx60-buckminster-support.patch b/target/linux/apm821xx/patches-4.4/203-add-meraki-mx60-buckminster-support.patch
index 5ecb7bc9e5..8c072387d4 100644
--- a/target/linux/apm821xx/patches-4.4/203-add-meraki-mx60-buckminster-support.patch
+++ b/target/linux/apm821xx/patches-4.4/203-add-meraki-mx60-buckminster-support.patch
@@ -1,9 +1,9 @@
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
-@@ -30,6 +30,19 @@
+@@ -30,6 +30,19 @@ config BLUESTONE
help
This option enables support for the APM APM821xx Evaluation board.
-
+
+config BUCKMINSTER
+ bool "Buckminster"
+ depends on 44x
@@ -22,7 +22,7 @@
depends on 44x
--- a/arch/powerpc/platforms/44x/ppc44x_simple.c
+++ b/arch/powerpc/platforms/44x/ppc44x_simple.c
-@@ -63,6 +63,7 @@
+@@ -63,6 +63,7 @@ static char *board[] __initdata = {
"amcc,sequoia",
"amcc,taishan",
"amcc,yosemite",
diff --git a/target/linux/bcm53xx/patches-4.4/301-ARM-BCM5301X-Add-DT-for-Netgear-R7900.patch b/target/linux/bcm53xx/patches-4.4/301-ARM-BCM5301X-Add-DT-for-Netgear-R7900.patch
index 9dcc51da06..618e26dc7a 100644
--- a/target/linux/bcm53xx/patches-4.4/301-ARM-BCM5301X-Add-DT-for-Netgear-R7900.patch
+++ b/target/linux/bcm53xx/patches-4.4/301-ARM-BCM5301X-Add-DT-for-Netgear-R7900.patch
@@ -15,8 +15,8 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
bcm4709-netgear-r7000.dtb \
+ bcm4709-netgear-r7900.dtb \
bcm4709-netgear-r8000.dtb \
+ bcm4709-tplink-archer-c9-v1.dtb \
bcm47094-dlink-dir-885l.dtb \
- bcm47094-luxul-xwr-3100.dtb \
--- /dev/null
+++ b/arch/arm/boot/dts/bcm4709-netgear-r7900.dts
@@ -0,0 +1,41 @@
diff --git a/target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch b/target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch
index 06cb5104d5..35c6ff7bc9 100644
--- a/target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch
+++ b/target/linux/bcm53xx/patches-4.4/901-mtd-bcm47xxpart-add-device-specific-workarounds.patch
@@ -17,7 +17,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
#include <uapi/linux/magic.h>
-@@ -159,6 +160,28 @@ static int bcm47xxpart_parse(struct mtd_info *master,
+@@ -159,6 +160,28 @@ static int bcm47xxpart_parse(struct mtd_
break;
}
diff --git a/target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch b/target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch
index 4fb8a87d4c..9ffc4ca31c 100644
--- a/target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch
+++ b/target/linux/brcm47xx/patches-4.4/400-mtd-bcm47xxpart-get-nvram.patch
@@ -8,7 +8,7 @@
/*
* Some really old flashes (like AT45DB*) had smaller erasesize-s, but
-@@ -334,12 +335,23 @@ static int bcm47xxpart_parse(struct mtd_
+@@ -332,12 +333,23 @@ static int bcm47xxpart_parse(struct mtd_
if (buf[0] == NVRAM_HEADER) {
bcm47xxpart_add_part(&parts[curr_part++], "nvram",
master->size - blocksize, 0);
diff --git a/target/linux/generic/patches-4.4/070-0001-bgmac-fix-a-missing-check-for-build_skb.patch b/target/linux/generic/patches-4.4/070-0001-bgmac-fix-a-missing-check-for-build_skb.patch
index 7e6dc2035d..99f9de65a7 100644
--- a/target/linux/generic/patches-4.4/070-0001-bgmac-fix-a-missing-check-for-build_skb.patch
+++ b/target/linux/generic/patches-4.4/070-0001-bgmac-fix-a-missing-check-for-build_skb.patch
@@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -466,6 +466,11 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -469,6 +469,11 @@ static int bgmac_dma_rx_read(struct bgma
len -= ETH_FCS_LEN;
skb = build_skb(buf, BGMAC_RX_ALLOC_SIZE);
diff --git a/target/linux/generic/patches-4.4/070-0002-bgmac-Fix-reversed-test-of-build_skb-return-value.patch b/target/linux/generic/patches-4.4/070-0002-bgmac-Fix-reversed-test-of-build_skb-return-value.patch
index 0b0a28d81a..eebcded6fa 100644
--- a/target/linux/generic/patches-4.4/070-0002-bgmac-Fix-reversed-test-of-build_skb-return-value.patch
+++ b/target/linux/generic/patches-4.4/070-0002-bgmac-Fix-reversed-test-of-build_skb-return-value.patch
@@ -11,7 +11,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -466,7 +466,7 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -469,7 +469,7 @@ static int bgmac_dma_rx_read(struct bgma
len -= ETH_FCS_LEN;
skb = build_skb(buf, BGMAC_RX_ALLOC_SIZE);
diff --git a/target/linux/generic/patches-4.4/071-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch b/target/linux/generic/patches-4.4/071-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch
index 4008c29963..0c007569fb 100644
--- a/target/linux/generic/patches-4.4/071-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch
+++ b/target/linux/generic/patches-4.4/071-0001-bgmac-add-helper-checking-for-BCM4707-BCM53018-chip-.patch
@@ -36,7 +36,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static bool bgmac_wait_value(struct bcma_device *core, u16 reg, u32 mask,
u32 value, int timeout)
{
-@@ -987,11 +998,9 @@ static void bgmac_mac_speed(struct bgmac
+@@ -990,11 +1001,9 @@ static void bgmac_mac_speed(struct bgmac
static void bgmac_miiconfig(struct bgmac *bgmac)
{
struct bcma_device *core = bgmac->core;
@@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bcma_awrite32(core, BCMA_IOCTL,
bcma_aread32(core, BCMA_IOCTL) | 0x40 |
BGMAC_BCMA_IOCTL_SW_CLKEN);
-@@ -1055,9 +1064,7 @@ static void bgmac_chip_reset(struct bgma
+@@ -1058,9 +1067,7 @@ static void bgmac_chip_reset(struct bgma
}
/* Request Misc PLL for corerev > 2 */
@@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac_set(bgmac, BCMA_CLKCTLST,
BGMAC_BCMA_CLKCTLST_MISC_PLL_REQ);
bgmac_wait_value(bgmac->core, BCMA_CLKCTLST,
-@@ -1193,8 +1200,7 @@ static void bgmac_enable(struct bgmac *b
+@@ -1196,8 +1203,7 @@ static void bgmac_enable(struct bgmac *b
break;
}
@@ -70,7 +70,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
rxq_ctl = bgmac_read(bgmac, BGMAC_RXQ_CTL);
rxq_ctl &= ~BGMAC_RXQ_CTL_MDP_MASK;
bp_clk = bcma_pmu_get_bus_clock(&bgmac->core->bus->drv_cc) /
-@@ -1472,14 +1478,12 @@ static int bgmac_fixed_phy_register(stru
+@@ -1475,14 +1481,12 @@ static int bgmac_fixed_phy_register(stru
static int bgmac_mii_register(struct bgmac *bgmac)
{
@@ -86,7 +86,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return bgmac_fixed_phy_register(bgmac);
mii_bus = mdiobus_alloc();
-@@ -1550,7 +1554,6 @@ static void bgmac_mii_unregister(struct
+@@ -1553,7 +1557,6 @@ static void bgmac_mii_unregister(struct
/* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/chipattach */
static int bgmac_probe(struct bcma_device *core)
{
@@ -94,7 +94,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct net_device *net_dev;
struct bgmac *bgmac;
struct ssb_sprom *sprom = &core->bus->sprom;
-@@ -1631,8 +1634,7 @@ static int bgmac_probe(struct bcma_devic
+@@ -1634,8 +1637,7 @@ static int bgmac_probe(struct bcma_devic
bgmac_chip_reset(bgmac);
/* For Northstar, we have to take all GMAC core out of reset */
diff --git a/target/linux/generic/patches-4.4/071-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch b/target/linux/generic/patches-4.4/071-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch
index 514fe26f1b..d00c2bd551 100644
--- a/target/linux/generic/patches-4.4/071-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch
+++ b/target/linux/generic/patches-4.4/071-0002-bgmac-support-Ethernet-device-on-BCM47094-SoC.patch
@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
case BCMA_CHIP_ID_BCM53018:
return true;
default:
-@@ -1052,8 +1053,9 @@ static void bgmac_chip_reset(struct bgma
+@@ -1055,8 +1056,9 @@ static void bgmac_chip_reset(struct bgma
(ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188))
iost &= ~BGMAC_BCMA_IOST_ATTACHED;
diff --git a/target/linux/generic/patches-4.4/071-0003-bgmac-reset-enable-Ethernet-core-before-using-it.patch b/target/linux/generic/patches-4.4/071-0003-bgmac-reset-enable-Ethernet-core-before-using-it.patch
index 4375868b16..021a5913aa 100644
--- a/target/linux/generic/patches-4.4/071-0003-bgmac-reset-enable-Ethernet-core-before-using-it.patch
+++ b/target/linux/generic/patches-4.4/071-0003-bgmac-reset-enable-Ethernet-core-before-using-it.patch
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1583,6 +1583,11 @@ static int bgmac_probe(struct bcma_devic
+@@ -1586,6 +1586,11 @@ static int bgmac_probe(struct bcma_devic
dev_warn(&core->dev, "Using random MAC: %pM\n", mac);
}
diff --git a/target/linux/generic/patches-4.4/072-0001-bgmac-Bind-net_device-with-backing-device-structure.patch b/target/linux/generic/patches-4.4/072-0001-bgmac-Bind-net_device-with-backing-device-structure.patch
index 764b16801d..4d00094aa8 100644
--- a/target/linux/generic/patches-4.4/072-0001-bgmac-Bind-net_device-with-backing-device-structure.patch
+++ b/target/linux/generic/patches-4.4/072-0001-bgmac-Bind-net_device-with-backing-device-structure.patch
@@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1599,6 +1599,7 @@ static int bgmac_probe(struct bcma_devic
+@@ -1602,6 +1602,7 @@ static int bgmac_probe(struct bcma_devic
bgmac->net_dev = net_dev;
bgmac->core = core;
bcma_set_drvdata(core, bgmac);
diff --git a/target/linux/generic/patches-4.4/072-0002-bgmac-Add-support-for-ethtool-statistics.patch b/target/linux/generic/patches-4.4/072-0002-bgmac-Add-support-for-ethtool-statistics.patch
index 8f6b6c80fc..cff70802d2 100644
--- a/target/linux/generic/patches-4.4/072-0002-bgmac-Add-support-for-ethtool-statistics.patch
+++ b/target/linux/generic/patches-4.4/072-0002-bgmac-Add-support-for-ethtool-statistics.patch
@@ -15,7 +15,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1382,6 +1382,127 @@ static const struct net_device_ops bgmac
+@@ -1385,6 +1385,127 @@ static const struct net_device_ops bgmac
* ethtool_ops
**************************************************/
@@ -143,7 +143,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int bgmac_get_settings(struct net_device *net_dev,
struct ethtool_cmd *cmd)
{
-@@ -1406,6 +1527,9 @@ static void bgmac_get_drvinfo(struct net
+@@ -1409,6 +1530,9 @@ static void bgmac_get_drvinfo(struct net
}
static const struct ethtool_ops bgmac_ethtool_ops = {
diff --git a/target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch b/target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch
index 17a7ce060c..322851d026 100644
--- a/target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch
+++ b/target/linux/generic/patches-4.4/072-0003-bgmac-Maintain-some-netdev-statistics.patch
@@ -32,7 +32,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bytes_compl += slot->skb->len;
pkts_compl++;
-@@ -464,6 +468,7 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -467,6 +471,7 @@ static int bgmac_dma_rx_read(struct bgma
bgmac_err(bgmac, "Found poisoned packet at slot %d, DMA issue!\n",
ring->start);
put_page(virt_to_head_page(buf));
@@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break;
}
-@@ -471,6 +476,8 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -474,6 +479,8 @@ static int bgmac_dma_rx_read(struct bgma
bgmac_err(bgmac, "Found oversized packet at slot %d, DMA issue!\n",
ring->start);
put_page(virt_to_head_page(buf));
@@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break;
}
-@@ -481,6 +488,7 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -484,6 +491,7 @@ static int bgmac_dma_rx_read(struct bgma
if (unlikely(!skb)) {
bgmac_err(bgmac, "build_skb failed\n");
put_page(virt_to_head_page(buf));
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
break;
}
skb_put(skb, BGMAC_RX_FRAME_OFFSET +
-@@ -490,6 +498,8 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -493,6 +501,8 @@ static int bgmac_dma_rx_read(struct bgma
skb_checksum_none_assert(skb);
skb->protocol = eth_type_trans(skb, bgmac->net_dev);
diff --git a/target/linux/generic/patches-4.4/073-0001-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch b/target/linux/generic/patches-4.4/073-0001-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch
index 17fbea034f..8c97b09970 100644
--- a/target/linux/generic/patches-4.4/073-0001-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch
+++ b/target/linux/generic/patches-4.4/073-0001-net-ethernet-bgmac-use-phydev-from-struct-net_device.patch
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1320,7 +1320,7 @@ static int bgmac_open(struct net_device
+@@ -1323,7 +1323,7 @@ static int bgmac_open(struct net_device
}
napi_enable(&bgmac->napi);
@@ -26,7 +26,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
netif_carrier_on(net_dev);
return 0;
-@@ -1332,7 +1332,7 @@ static int bgmac_stop(struct net_device
+@@ -1335,7 +1335,7 @@ static int bgmac_stop(struct net_device
netif_carrier_off(net_dev);
@@ -35,7 +35,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
napi_disable(&bgmac->napi);
bgmac_chip_intrs_off(bgmac);
-@@ -1370,12 +1370,10 @@ static int bgmac_set_mac_address(struct
+@@ -1373,12 +1373,10 @@ static int bgmac_set_mac_address(struct
static int bgmac_ioctl(struct net_device *net_dev, struct ifreq *ifr, int cmd)
{
@@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static const struct net_device_ops bgmac_netdev_ops = {
-@@ -1518,7 +1516,7 @@ static int bgmac_get_settings(struct net
+@@ -1521,7 +1519,7 @@ static int bgmac_get_settings(struct net
{
struct bgmac *bgmac = netdev_priv(net_dev);
@@ -58,7 +58,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static int bgmac_set_settings(struct net_device *net_dev,
-@@ -1526,7 +1524,7 @@ static int bgmac_set_settings(struct net
+@@ -1529,7 +1527,7 @@ static int bgmac_set_settings(struct net
{
struct bgmac *bgmac = netdev_priv(net_dev);
@@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static void bgmac_get_drvinfo(struct net_device *net_dev,
-@@ -1563,7 +1561,7 @@ static int bgmac_mii_write(struct mii_bu
+@@ -1566,7 +1564,7 @@ static int bgmac_mii_write(struct mii_bu
static void bgmac_adjust_link(struct net_device *net_dev)
{
struct bgmac *bgmac = netdev_priv(net_dev);
@@ -76,7 +76,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bool update = false;
if (phy_dev->link) {
-@@ -1607,8 +1605,6 @@ static int bgmac_fixed_phy_register(stru
+@@ -1610,8 +1608,6 @@ static int bgmac_fixed_phy_register(stru
return err;
}
@@ -85,7 +85,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return err;
}
-@@ -1661,7 +1657,6 @@ static int bgmac_mii_register(struct bgm
+@@ -1664,7 +1660,6 @@ static int bgmac_mii_register(struct bgm
err = PTR_ERR(phy_dev);
goto err_unregister_bus;
}
diff --git a/target/linux/generic/patches-4.4/074-0002-net-bgmac-Start-transmit-queue-in-bgmac_open.patch b/target/linux/generic/patches-4.4/074-0002-net-bgmac-Start-transmit-queue-in-bgmac_open.patch
index 84772aa920..6a866bccdb 100644
--- a/target/linux/generic/patches-4.4/074-0002-net-bgmac-Start-transmit-queue-in-bgmac_open.patch
+++ b/target/linux/generic/patches-4.4/074-0002-net-bgmac-Start-transmit-queue-in-bgmac_open.patch
@@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1324,6 +1324,9 @@ static int bgmac_open(struct net_device
+@@ -1327,6 +1327,9 @@ static int bgmac_open(struct net_device
phy_start(net_dev->phydev);
netif_carrier_on(net_dev);
diff --git a/target/linux/generic/patches-4.4/074-0003-net-bgmac-Remove-superflous-netif_carrier_on.patch b/target/linux/generic/patches-4.4/074-0003-net-bgmac-Remove-superflous-netif_carrier_on.patch
index edb027c504..0edf9ee9fa 100644
--- a/target/linux/generic/patches-4.4/074-0003-net-bgmac-Remove-superflous-netif_carrier_on.patch
+++ b/target/linux/generic/patches-4.4/074-0003-net-bgmac-Remove-superflous-netif_carrier_on.patch
@@ -17,7 +17,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1323,8 +1323,6 @@ static int bgmac_open(struct net_device
+@@ -1326,8 +1326,6 @@ static int bgmac_open(struct net_device
phy_start(net_dev->phydev);
diff --git a/target/linux/generic/patches-4.4/075-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch b/target/linux/generic/patches-4.4/075-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch
index 63b4f4a167..3837b60943 100644
--- a/target/linux/generic/patches-4.4/075-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch
+++ b/target/linux/generic/patches-4.4/075-0001-net-ethernet-bgmac-change-bgmac_-prints-to-dev_-prin.patch
@@ -101,7 +101,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static void bgmac_dma_rx_enable(struct bgmac *bgmac,
-@@ -371,7 +371,7 @@ static int bgmac_dma_rx_skb_for_slot(str
+@@ -374,7 +374,7 @@ static int bgmac_dma_rx_skb_for_slot(str
dma_addr = dma_map_single(dma_dev, buf + BGMAC_RX_BUF_OFFSET,
BGMAC_RX_BUF_SIZE, DMA_FROM_DEVICE);
if (dma_mapping_error(dma_dev, dma_addr)) {
@@ -110,7 +110,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
put_page(virt_to_head_page(buf));
return -ENOMEM;
}
-@@ -466,16 +466,16 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -469,16 +469,16 @@ static int bgmac_dma_rx_read(struct bgma
/* Check for poison and drop or pass the packet */
if (len == 0xdead && flags == 0xbeef) {
@@ -131,7 +131,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
put_page(virt_to_head_page(buf));
bgmac->net_dev->stats.rx_length_errors++;
bgmac->net_dev->stats.rx_errors++;
-@@ -487,7 +487,7 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -490,7 +490,7 @@ static int bgmac_dma_rx_read(struct bgma
skb = build_skb(buf, BGMAC_RX_ALLOC_SIZE);
if (unlikely(!skb)) {
@@ -140,7 +140,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
put_page(virt_to_head_page(buf));
bgmac->net_dev->stats.rx_errors++;
break;
-@@ -641,7 +641,7 @@ static int bgmac_dma_alloc(struct bgmac
+@@ -644,7 +644,7 @@ static int bgmac_dma_alloc(struct bgmac
BUILD_BUG_ON(BGMAC_MAX_RX_RINGS > ARRAY_SIZE(ring_base));
if (!(bcma_aread32(bgmac->core, BCMA_IOST) & BCMA_IOST_DMA64)) {
@@ -149,7 +149,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return -ENOTSUPP;
}
-@@ -655,8 +655,8 @@ static int bgmac_dma_alloc(struct bgmac
+@@ -658,8 +658,8 @@ static int bgmac_dma_alloc(struct bgmac
&ring->dma_base,
GFP_KERNEL);
if (!ring->cpu_base) {
@@ -160,7 +160,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
goto err_dma_free;
}
-@@ -680,8 +680,8 @@ static int bgmac_dma_alloc(struct bgmac
+@@ -683,8 +683,8 @@ static int bgmac_dma_alloc(struct bgmac
&ring->dma_base,
GFP_KERNEL);
if (!ring->cpu_base) {
@@ -171,7 +171,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
err = -ENOMEM;
goto err_dma_free;
}
-@@ -800,8 +800,8 @@ static u16 bgmac_phy_read(struct bgmac *
+@@ -803,8 +803,8 @@ static u16 bgmac_phy_read(struct bgmac *
bcma_write32(core, phy_access_addr, tmp);
if (!bgmac_wait_value(core, phy_access_addr, BGMAC_PA_START, 0, 1000)) {
@@ -182,7 +182,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return 0xffff;
}
-@@ -833,7 +833,7 @@ static int bgmac_phy_write(struct bgmac
+@@ -836,7 +836,7 @@ static int bgmac_phy_write(struct bgmac
bgmac_write(bgmac, BGMAC_INT_STATUS, BGMAC_IS_MDIO);
if (bgmac_read(bgmac, BGMAC_INT_STATUS) & BGMAC_IS_MDIO)
@@ -191,7 +191,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
tmp = BGMAC_PA_START;
tmp |= BGMAC_PA_WRITE;
-@@ -843,8 +843,8 @@ static int bgmac_phy_write(struct bgmac
+@@ -846,8 +846,8 @@ static int bgmac_phy_write(struct bgmac
bcma_write32(core, phy_access_addr, tmp);
if (!bgmac_wait_value(core, phy_access_addr, BGMAC_PA_START, 0, 1000)) {
@@ -202,7 +202,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return -ETIMEDOUT;
}
-@@ -897,7 +897,7 @@ static void bgmac_phy_reset(struct bgmac
+@@ -900,7 +900,7 @@ static void bgmac_phy_reset(struct bgmac
bgmac_phy_write(bgmac, bgmac->phyaddr, MII_BMCR, BMCR_RESET);
udelay(100);
if (bgmac_phy_read(bgmac, bgmac->phyaddr, MII_BMCR) & BMCR_RESET)
@@ -211,7 +211,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac_phy_init(bgmac);
}
-@@ -998,7 +998,8 @@ static void bgmac_mac_speed(struct bgmac
+@@ -1001,7 +1001,8 @@ static void bgmac_mac_speed(struct bgmac
set |= BGMAC_CMDCFG_ES_2500;
break;
default:
@@ -221,7 +221,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
if (bgmac->mac_duplex == DUPLEX_HALF)
-@@ -1097,8 +1098,8 @@ static void bgmac_chip_reset(struct bgma
+@@ -1100,8 +1101,8 @@ static void bgmac_chip_reset(struct bgma
if (bcm47xx_nvram_getenv("et_swtype", buf, sizeof(buf)) > 0) {
if (kstrtou8(buf, 0, &et_swtype))
@@ -232,7 +232,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
et_swtype &= 0x0f;
et_swtype <<= 4;
sw_type = et_swtype;
-@@ -1261,7 +1262,7 @@ static irqreturn_t bgmac_interrupt(int i
+@@ -1264,7 +1265,7 @@ static irqreturn_t bgmac_interrupt(int i
int_status &= ~(BGMAC_IS_TX0 | BGMAC_IS_RX);
if (int_status)
@@ -241,7 +241,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* Disable new interrupts until handling existing ones */
bgmac_chip_intrs_off(bgmac);
-@@ -1315,7 +1316,7 @@ static int bgmac_open(struct net_device
+@@ -1318,7 +1319,7 @@ static int bgmac_open(struct net_device
err = request_irq(bgmac->core->irq, bgmac_interrupt, IRQF_SHARED,
KBUILD_MODNAME, net_dev);
if (err < 0) {
@@ -250,7 +250,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac_dma_cleanup(bgmac);
return err;
}
-@@ -1596,14 +1597,14 @@ static int bgmac_fixed_phy_register(stru
+@@ -1599,14 +1600,14 @@ static int bgmac_fixed_phy_register(stru
phy_dev = fixed_phy_register(PHY_POLL, &fphy_status, -1, NULL);
if (!phy_dev || IS_ERR(phy_dev)) {
@@ -267,7 +267,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return err;
}
-@@ -1643,7 +1644,7 @@ static int bgmac_mii_register(struct bgm
+@@ -1646,7 +1647,7 @@ static int bgmac_mii_register(struct bgm
err = mdiobus_register(mii_bus);
if (err) {
@@ -276,7 +276,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
goto err_free_irq;
}
-@@ -1655,7 +1656,7 @@ static int bgmac_mii_register(struct bgm
+@@ -1658,7 +1659,7 @@ static int bgmac_mii_register(struct bgm
phy_dev = phy_connect(bgmac->net_dev, bus_id, &bgmac_adjust_link,
PHY_INTERFACE_MODE_MII);
if (IS_ERR(phy_dev)) {
@@ -285,7 +285,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
err = PTR_ERR(phy_dev);
goto err_unregister_bus;
}
-@@ -1704,7 +1705,8 @@ static int bgmac_probe(struct bcma_devic
+@@ -1707,7 +1708,8 @@ static int bgmac_probe(struct bcma_devic
mac = sprom->et2mac;
break;
default:
@@ -295,7 +295,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return -ENOTSUPP;
}
-@@ -1727,6 +1729,7 @@ static int bgmac_probe(struct bcma_devic
+@@ -1730,6 +1732,7 @@ static int bgmac_probe(struct bcma_devic
net_dev->irq = core->irq;
net_dev->ethtool_ops = &bgmac_ethtool_ops;
bgmac = netdev_priv(net_dev);
@@ -303,7 +303,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac->net_dev = net_dev;
bgmac->core = core;
bcma_set_drvdata(core, bgmac);
-@@ -1738,7 +1741,7 @@ static int bgmac_probe(struct bcma_devic
+@@ -1741,7 +1744,7 @@ static int bgmac_probe(struct bcma_devic
/* On BCM4706 we need common core to access PHY */
if (core->id.id == BCMA_CORE_4706_MAC_GBIT &&
!core->bus->drv_gmac_cmn.core) {
@@ -312,7 +312,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
err = -ENODEV;
goto err_netdev_free;
}
-@@ -1757,15 +1760,15 @@ static int bgmac_probe(struct bcma_devic
+@@ -1760,15 +1763,15 @@ static int bgmac_probe(struct bcma_devic
}
bgmac->phyaddr &= BGMAC_PHY_MASK;
if (bgmac->phyaddr == BGMAC_PHY_MASK) {
@@ -332,7 +332,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
err = -ENOTSUPP;
goto err_netdev_free;
}
-@@ -1794,7 +1797,7 @@ static int bgmac_probe(struct bcma_devic
+@@ -1797,7 +1800,7 @@ static int bgmac_probe(struct bcma_devic
err = bgmac_dma_alloc(bgmac);
if (err) {
@@ -341,7 +341,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
goto err_netdev_free;
}
-@@ -1808,16 +1811,16 @@ static int bgmac_probe(struct bcma_devic
+@@ -1811,16 +1814,16 @@ static int bgmac_probe(struct bcma_devic
bgmac->has_robosw = !!(core->bus->sprom.boardflags_lo &
BGMAC_BFL_ENETROBO);
if (bgmac->has_robosw)
@@ -361,7 +361,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
goto err_dma_free;
}
-@@ -1827,7 +1830,7 @@ static int bgmac_probe(struct bcma_devic
+@@ -1830,7 +1833,7 @@ static int bgmac_probe(struct bcma_devic
err = register_netdev(bgmac->net_dev);
if (err) {
diff --git a/target/linux/generic/patches-4.4/075-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch b/target/linux/generic/patches-4.4/075-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch
index eeef86af9a..dd5b8772e3 100644
--- a/target/linux/generic/patches-4.4/075-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch
+++ b/target/linux/generic/patches-4.4/075-0002-net-ethernet-bgmac-add-dma_dev-pointer.patch
@@ -38,7 +38,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int empty_slot;
bool freed = false;
unsigned bytes_compl = 0, pkts_compl = 0;
-@@ -352,7 +352,7 @@ static void bgmac_dma_rx_enable(struct b
+@@ -355,7 +355,7 @@ static void bgmac_dma_rx_enable(struct b
static int bgmac_dma_rx_skb_for_slot(struct bgmac *bgmac,
struct bgmac_slot_info *slot)
{
@@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
dma_addr_t dma_addr;
struct bgmac_rx_header *rx;
void *buf;
-@@ -441,7 +441,7 @@ static int bgmac_dma_rx_read(struct bgma
+@@ -444,7 +444,7 @@ static int bgmac_dma_rx_read(struct bgma
end_slot /= sizeof(struct bgmac_dma_desc);
while (ring->start != end_slot) {
@@ -56,7 +56,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct bgmac_slot_info *slot = &ring->slots[ring->start];
struct bgmac_rx_header *rx = slot->buf + BGMAC_RX_BUF_OFFSET;
struct sk_buff *skb;
-@@ -544,7 +544,7 @@ static bool bgmac_dma_unaligned(struct b
+@@ -547,7 +547,7 @@ static bool bgmac_dma_unaligned(struct b
static void bgmac_dma_tx_ring_free(struct bgmac *bgmac,
struct bgmac_dma_ring *ring)
{
@@ -65,7 +65,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct bgmac_dma_desc *dma_desc = ring->cpu_base;
struct bgmac_slot_info *slot;
int i;
-@@ -570,7 +570,7 @@ static void bgmac_dma_tx_ring_free(struc
+@@ -573,7 +573,7 @@ static void bgmac_dma_tx_ring_free(struc
static void bgmac_dma_rx_ring_free(struct bgmac *bgmac,
struct bgmac_dma_ring *ring)
{
@@ -74,7 +74,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct bgmac_slot_info *slot;
int i;
-@@ -591,7 +591,7 @@ static void bgmac_dma_ring_desc_free(str
+@@ -594,7 +594,7 @@ static void bgmac_dma_ring_desc_free(str
struct bgmac_dma_ring *ring,
int num_slots)
{
@@ -83,7 +83,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
int size;
if (!ring->cpu_base)
-@@ -629,7 +629,7 @@ static void bgmac_dma_free(struct bgmac
+@@ -632,7 +632,7 @@ static void bgmac_dma_free(struct bgmac
static int bgmac_dma_alloc(struct bgmac *bgmac)
{
@@ -92,7 +92,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct bgmac_dma_ring *ring;
static const u16 ring_base[] = { BGMAC_DMA_BASE0, BGMAC_DMA_BASE1,
BGMAC_DMA_BASE2, BGMAC_DMA_BASE3, };
-@@ -1730,6 +1730,7 @@ static int bgmac_probe(struct bcma_devic
+@@ -1733,6 +1733,7 @@ static int bgmac_probe(struct bcma_devic
net_dev->ethtool_ops = &bgmac_ethtool_ops;
bgmac = netdev_priv(net_dev);
bgmac->dev = &core->dev;
diff --git a/target/linux/generic/patches-4.4/075-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch b/target/linux/generic/patches-4.4/075-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch
index f698a6fca0..bc7b246cc1 100644
--- a/target/linux/generic/patches-4.4/075-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch
+++ b/target/linux/generic/patches-4.4/075-0003-net-ethernet-bgmac-move-BCMA-MDIO-Phy-code-into-a-se.patch
@@ -317,7 +317,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
+MODULE_LICENSE("GPL");
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -756,150 +756,6 @@ error:
+@@ -759,150 +759,6 @@ error:
return err;
}
@@ -468,7 +468,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/**************************************************
* Chip ops
-@@ -1156,7 +1012,8 @@ static void bgmac_chip_reset(struct bgma
+@@ -1159,7 +1015,8 @@ static void bgmac_chip_reset(struct bgma
else
bgmac_set(bgmac, BGMAC_PHY_CNTL, BGMAC_PC_MTE);
bgmac_miiconfig(bgmac);
@@ -478,7 +478,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
netdev_reset_queue(bgmac->net_dev);
}
-@@ -1550,17 +1407,6 @@ static const struct ethtool_ops bgmac_et
+@@ -1553,17 +1410,6 @@ static const struct ethtool_ops bgmac_et
* MII
**************************************************/
@@ -496,7 +496,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static void bgmac_adjust_link(struct net_device *net_dev)
{
struct bgmac *bgmac = netdev_priv(net_dev);
-@@ -1585,7 +1431,7 @@ static void bgmac_adjust_link(struct net
+@@ -1588,7 +1434,7 @@ static void bgmac_adjust_link(struct net
}
}
@@ -505,7 +505,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
{
struct fixed_phy_status fphy_status = {
.link = 1,
-@@ -1611,81 +1457,24 @@ static int bgmac_fixed_phy_register(stru
+@@ -1614,81 +1460,24 @@ static int bgmac_fixed_phy_register(stru
return err;
}
@@ -591,7 +591,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
static int bgmac_probe(struct bcma_device *core)
{
struct net_device *net_dev;
-@@ -1806,9 +1595,6 @@ static int bgmac_probe(struct bcma_devic
+@@ -1809,9 +1598,6 @@ static int bgmac_probe(struct bcma_devic
if (bcm47xx_nvram_getenv("et0_no_txint", NULL, 0) == 0)
bgmac->int_mask &= ~BGMAC_IS_TX_MASK;
@@ -601,7 +601,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac->has_robosw = !!(core->bus->sprom.boardflags_lo &
BGMAC_BFL_ENETROBO);
if (bgmac->has_robosw)
-@@ -1819,10 +1605,25 @@ static int bgmac_probe(struct bcma_devic
+@@ -1822,10 +1608,25 @@ static int bgmac_probe(struct bcma_devic
netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
@@ -629,7 +629,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
net_dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
-@@ -1832,18 +1633,19 @@ static int bgmac_probe(struct bcma_devic
+@@ -1835,18 +1636,19 @@ static int bgmac_probe(struct bcma_devic
err = register_netdev(bgmac->net_dev);
if (err) {
dev_err(bgmac->dev, "Cannot register net device\n");
@@ -652,7 +652,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
err_netdev_free:
bcma_set_drvdata(core, NULL);
free_netdev(net_dev);
-@@ -1856,7 +1658,8 @@ static void bgmac_remove(struct bcma_dev
+@@ -1859,7 +1661,8 @@ static void bgmac_remove(struct bcma_dev
struct bgmac *bgmac = bcma_get_drvdata(core);
unregister_netdev(bgmac->net_dev);
diff --git a/target/linux/generic/patches-4.4/075-0004-net-ethernet-bgmac-convert-to-feature-flags.patch b/target/linux/generic/patches-4.4/075-0004-net-ethernet-bgmac-convert-to-feature-flags.patch
index 82f432d5ff..0f627919d0 100644
--- a/target/linux/generic/patches-4.4/075-0004-net-ethernet-bgmac-convert-to-feature-flags.patch
+++ b/target/linux/generic/patches-4.4/075-0004-net-ethernet-bgmac-convert-to-feature-flags.patch
@@ -32,16 +32,16 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ctl &= ~BGMAC_DMA_TX_BL_MASK;
ctl |= BGMAC_DMA_TX_BL_128 << BGMAC_DMA_TX_BL_SHIFT;
-@@ -331,7 +331,7 @@ static void bgmac_dma_rx_enable(struct b
- u32 ctl;
+@@ -335,7 +335,7 @@ static void bgmac_dma_rx_enable(struct b
+ /* preserve ONLY bits 16-17 from current hardware value */
+ ctl &= BGMAC_DMA_RX_ADDREXT_MASK;
- ctl = bgmac_read(bgmac, ring->mmio_base + BGMAC_DMA_RX_CTL);
- if (bgmac->core->id.rev >= 4) {
+ if (bgmac->feature_flags & BGMAC_FEAT_RX_MASK_SETUP) {
ctl &= ~BGMAC_DMA_RX_BL_MASK;
ctl |= BGMAC_DMA_RX_BL_128 << BGMAC_DMA_RX_BL_SHIFT;
-@@ -769,14 +769,20 @@ static void bgmac_cmdcfg_maskset(struct
+@@ -772,14 +772,20 @@ static void bgmac_cmdcfg_maskset(struct
{
u32 cmdcfg = bgmac_read(bgmac, BGMAC_CMDCFG);
u32 new_val = (cmdcfg & mask) | set;
@@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
udelay(2);
}
-@@ -805,7 +811,7 @@ static void bgmac_chip_stats_update(stru
+@@ -808,7 +814,7 @@ static void bgmac_chip_stats_update(stru
{
int i;
@@ -73,7 +73,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
for (i = 0; i < BGMAC_NUM_MIB_TX_REGS; i++)
bgmac->mib_tx_regs[i] =
bgmac_read(bgmac,
-@@ -824,7 +830,7 @@ static void bgmac_clear_mib(struct bgmac
+@@ -827,7 +833,7 @@ static void bgmac_clear_mib(struct bgmac
{
int i;
@@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
return;
bgmac_set(bgmac, BGMAC_DEV_CTL, BGMAC_DC_MROR);
-@@ -867,9 +873,8 @@ static void bgmac_mac_speed(struct bgmac
+@@ -870,9 +876,8 @@ static void bgmac_mac_speed(struct bgmac
static void bgmac_miiconfig(struct bgmac *bgmac)
{
struct bcma_device *core = bgmac->core;
@@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bcma_awrite32(core, BCMA_IOCTL,
bcma_aread32(core, BCMA_IOCTL) | 0x40 |
BGMAC_BCMA_IOCTL_SW_CLKEN);
-@@ -877,6 +882,8 @@ static void bgmac_miiconfig(struct bgmac
+@@ -880,6 +885,8 @@ static void bgmac_miiconfig(struct bgmac
bgmac->mac_duplex = DUPLEX_FULL;
bgmac_mac_speed(bgmac);
} else {
@@ -102,7 +102,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
imode = (bgmac_read(bgmac, BGMAC_DEV_STATUS) &
BGMAC_DS_MM_MASK) >> BGMAC_DS_MM_SHIFT;
if (imode == 0 || imode == 1) {
-@@ -891,9 +898,7 @@ static void bgmac_miiconfig(struct bgmac
+@@ -894,9 +901,7 @@ static void bgmac_miiconfig(struct bgmac
static void bgmac_chip_reset(struct bgmac *bgmac)
{
struct bcma_device *core = bgmac->core;
@@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u32 iost;
int i;
-@@ -916,15 +921,12 @@ static void bgmac_chip_reset(struct bgma
+@@ -919,15 +924,12 @@ static void bgmac_chip_reset(struct bgma
}
iost = bcma_aread32(core, BCMA_IOST);
@@ -132,7 +132,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (iost & BGMAC_BCMA_IOST_ATTACHED) {
flags = BGMAC_BCMA_IOCTL_SW_CLKEN;
if (!bgmac->has_robosw)
-@@ -934,7 +936,7 @@ static void bgmac_chip_reset(struct bgma
+@@ -937,7 +939,7 @@ static void bgmac_chip_reset(struct bgma
}
/* Request Misc PLL for corerev > 2 */
@@ -141,7 +141,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac_set(bgmac, BCMA_CLKCTLST,
BGMAC_BCMA_CLKCTLST_MISC_PLL_REQ);
bgmac_wait_value(bgmac->core, BCMA_CLKCTLST,
-@@ -943,9 +945,7 @@ static void bgmac_chip_reset(struct bgma
+@@ -946,9 +948,7 @@ static void bgmac_chip_reset(struct bgma
1000);
}
@@ -152,7 +152,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
struct bcma_drv_cc *cc = &bgmac->core->bus->drv_cc;
u8 et_swtype = 0;
u8 sw_type = BGMAC_CHIPCTL_1_SW_TYPE_EPHY |
-@@ -959,11 +959,9 @@ static void bgmac_chip_reset(struct bgma
+@@ -962,11 +962,9 @@ static void bgmac_chip_reset(struct bgma
et_swtype &= 0x0f;
et_swtype <<= 4;
sw_type = et_swtype;
@@ -166,7 +166,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
sw_type = BGMAC_CHIPCTL_1_IF_TYPE_RGMII |
BGMAC_CHIPCTL_1_SW_TYPE_RGMII;
}
-@@ -983,6 +981,11 @@ static void bgmac_chip_reset(struct bgma
+@@ -986,6 +984,11 @@ static void bgmac_chip_reset(struct bgma
* BGMAC_CMDCFG is read _after_ putting chip in a reset. So it has to
* be keps until taking MAC out of the reset.
*/
@@ -178,7 +178,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac_cmdcfg_maskset(bgmac,
~(BGMAC_CMDCFG_TE |
BGMAC_CMDCFG_RE |
-@@ -1000,13 +1003,13 @@ static void bgmac_chip_reset(struct bgma
+@@ -1003,13 +1006,13 @@ static void bgmac_chip_reset(struct bgma
BGMAC_CMDCFG_PROM |
BGMAC_CMDCFG_NLC |
BGMAC_CMDCFG_CFE |
@@ -194,7 +194,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bcma_maskset32(bgmac->cmn, BCMA_GMAC_CMN_PHY_CTL, ~0,
BCMA_GMAC_CMN_PC_MTE);
else
-@@ -1032,46 +1035,48 @@ static void bgmac_chip_intrs_off(struct
+@@ -1035,46 +1038,48 @@ static void bgmac_chip_intrs_off(struct
/* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/gmac_enable */
static void bgmac_enable(struct bgmac *bgmac)
{
@@ -263,7 +263,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
rxq_ctl = bgmac_read(bgmac, BGMAC_RXQ_CTL);
rxq_ctl &= ~BGMAC_RXQ_CTL_MDP_MASK;
bp_clk = bcma_pmu_get_bus_clock(&bgmac->core->bus->drv_cc) /
-@@ -1603,6 +1608,74 @@ static int bgmac_probe(struct bcma_devic
+@@ -1606,6 +1611,74 @@ static int bgmac_probe(struct bcma_devic
if (core->bus->sprom.boardflags_lo & BGMAC_BFL_ENETADM)
dev_warn(bgmac->dev, "Support for ADMtek ethernet switch not implemented\n");
diff --git a/target/linux/generic/patches-4.4/075-0005-net-ethernet-bgmac-Add-platform-device-support.patch b/target/linux/generic/patches-4.4/075-0005-net-ethernet-bgmac-Add-platform-device-support.patch
index 4a69524761..5755184949 100644
--- a/target/linux/generic/patches-4.4/075-0005-net-ethernet-bgmac-Add-platform-device-support.patch
+++ b/target/linux/generic/patches-4.4/075-0005-net-ethernet-bgmac-Add-platform-device-support.patch
@@ -689,7 +689,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
ring->mmio_base + BGMAC_DMA_RX_STATUS,
BGMAC_DMA_RX_STAT, BGMAC_DMA_RX_STAT_DISABLED,
10000))
-@@ -640,7 +616,7 @@ static int bgmac_dma_alloc(struct bgmac
+@@ -643,7 +619,7 @@ static int bgmac_dma_alloc(struct bgmac
BUILD_BUG_ON(BGMAC_MAX_TX_RINGS > ARRAY_SIZE(ring_base));
BUILD_BUG_ON(BGMAC_MAX_RX_RINGS > ARRAY_SIZE(ring_base));
@@ -698,7 +698,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
dev_err(bgmac->dev, "Core does not report 64-bit DMA\n");
return -ENOTSUPP;
}
-@@ -872,12 +848,10 @@ static void bgmac_mac_speed(struct bgmac
+@@ -875,12 +851,10 @@ static void bgmac_mac_speed(struct bgmac
static void bgmac_miiconfig(struct bgmac *bgmac)
{
@@ -714,7 +714,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac->mac_speed = SPEED_2500;
bgmac->mac_duplex = DUPLEX_FULL;
bgmac_mac_speed(bgmac);
-@@ -897,12 +871,11 @@ static void bgmac_miiconfig(struct bgmac
+@@ -900,12 +874,11 @@ static void bgmac_miiconfig(struct bgmac
/* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/chipreset */
static void bgmac_chip_reset(struct bgmac *bgmac)
{
@@ -728,7 +728,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (!bgmac->stats_grabbed) {
/* bgmac_chip_stats_update(bgmac); */
bgmac->stats_grabbed = true;
-@@ -920,7 +893,7 @@ static void bgmac_chip_reset(struct bgma
+@@ -923,7 +896,7 @@ static void bgmac_chip_reset(struct bgma
/* TODO: Clear software multicast filter list */
}
@@ -737,7 +737,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (bgmac->feature_flags & BGMAC_FEAT_IOST_ATTACHED)
iost &= ~BGMAC_BCMA_IOST_ATTACHED;
-@@ -932,21 +905,20 @@ static void bgmac_chip_reset(struct bgma
+@@ -935,21 +908,20 @@ static void bgmac_chip_reset(struct bgma
if (!bgmac->has_robosw)
flags |= BGMAC_BCMA_IOCTL_SW_RESET;
}
@@ -761,7 +761,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
u8 et_swtype = 0;
u8 sw_type = BGMAC_CHIPCTL_1_SW_TYPE_EPHY |
BGMAC_CHIPCTL_1_IF_TYPE_MII;
-@@ -965,16 +937,15 @@ static void bgmac_chip_reset(struct bgma
+@@ -968,16 +940,15 @@ static void bgmac_chip_reset(struct bgma
sw_type = BGMAC_CHIPCTL_1_IF_TYPE_RGMII |
BGMAC_CHIPCTL_1_SW_TYPE_RGMII;
}
@@ -784,7 +784,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* http://bcm-v4.sipsolutions.net/mac-gbit/gmac/gmac_reset
* Specs don't say about using BGMAC_CMDCFG_SR, but in this routine
-@@ -1010,8 +981,8 @@ static void bgmac_chip_reset(struct bgma
+@@ -1013,8 +984,8 @@ static void bgmac_chip_reset(struct bgma
bgmac_clear_mib(bgmac);
if (bgmac->feature_flags & BGMAC_FEAT_CMN_PHY_CTL)
@@ -795,7 +795,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
else
bgmac_set(bgmac, BGMAC_PHY_CNTL, BGMAC_PC_MTE);
bgmac_miiconfig(bgmac);
-@@ -1056,8 +1027,8 @@ static void bgmac_enable(struct bgmac *b
+@@ -1059,8 +1030,8 @@ static void bgmac_enable(struct bgmac *b
if (bgmac->feature_flags & BGMAC_FEAT_CLKCTLST || mode != 0)
bgmac_set(bgmac, BCMA_CLKCTLST, BCMA_CLKCTLST_FORCEHT);
if (bgmac->feature_flags & BGMAC_FEAT_CLKCTLST && mode == 2)
@@ -806,7 +806,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (bgmac->feature_flags & (BGMAC_FEAT_FLW_CTRL1 |
BGMAC_FEAT_FLW_CTRL2)) {
-@@ -1079,8 +1050,7 @@ static void bgmac_enable(struct bgmac *b
+@@ -1082,8 +1053,7 @@ static void bgmac_enable(struct bgmac *b
rxq_ctl = bgmac_read(bgmac, BGMAC_RXQ_CTL);
rxq_ctl &= ~BGMAC_RXQ_CTL_MDP_MASK;
@@ -816,7 +816,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
mdp = (bp_clk * 128 / 1000) - 3;
rxq_ctl |= (mdp << BGMAC_RXQ_CTL_MDP_SHIFT);
bgmac_write(bgmac, BGMAC_RXQ_CTL, rxq_ctl);
-@@ -1175,7 +1145,7 @@ static int bgmac_open(struct net_device
+@@ -1178,7 +1148,7 @@ static int bgmac_open(struct net_device
/* Specs say about reclaiming rings here, but we do that in DMA init */
bgmac_chip_init(bgmac);
@@ -825,7 +825,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
KBUILD_MODNAME, net_dev);
if (err < 0) {
dev_err(bgmac->dev, "IRQ request error: %d!\n", err);
-@@ -1201,7 +1171,7 @@ static int bgmac_stop(struct net_device
+@@ -1204,7 +1174,7 @@ static int bgmac_stop(struct net_device
napi_disable(&bgmac->napi);
bgmac_chip_intrs_off(bgmac);
@@ -834,7 +834,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac_chip_reset(bgmac);
bgmac_dma_cleanup(bgmac);
-@@ -1396,7 +1366,7 @@ static void bgmac_get_drvinfo(struct net
+@@ -1399,7 +1369,7 @@ static void bgmac_get_drvinfo(struct net
struct ethtool_drvinfo *info)
{
strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
@@ -843,7 +843,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
static const struct ethtool_ops bgmac_ethtool_ops = {
-@@ -1480,116 +1450,41 @@ static int bgmac_phy_connect(struct bgma
+@@ -1483,116 +1453,41 @@ static int bgmac_phy_connect(struct bgma
return 0;
}
@@ -976,7 +976,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
err = bgmac_dma_alloc(bgmac);
if (err) {
dev_err(bgmac->dev, "Unable to alloc memory for DMA\n");
-@@ -1600,103 +1495,15 @@ static int bgmac_probe(struct bcma_devic
+@@ -1603,103 +1498,15 @@ static int bgmac_probe(struct bcma_devic
if (bcm47xx_nvram_getenv("et0_no_txint", NULL, 0) == 0)
bgmac->int_mask &= ~BGMAC_IS_TX_MASK;
@@ -1081,7 +1081,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
net_dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM;
-@@ -1715,56 +1522,24 @@ static int bgmac_probe(struct bcma_devic
+@@ -1718,56 +1525,24 @@ static int bgmac_probe(struct bcma_devic
err_phy_disconnect:
phy_disconnect(net_dev->phydev);
diff --git a/target/linux/generic/patches-4.4/077-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch b/target/linux/generic/patches-4.4/077-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch
index c47aab7e06..82d3fe4d6d 100644
--- a/target/linux/generic/patches-4.4/077-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch
+++ b/target/linux/generic/patches-4.4/077-0001-net-bgmac-support-Ethernet-core-on-BCM53573-SoCs.patch
@@ -75,7 +75,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
bgmac->feature_flags |= BGMAC_FEAT_SET_RXQ_CLK;
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -940,6 +940,27 @@ static void bgmac_chip_reset(struct bgma
+@@ -943,6 +943,27 @@ static void bgmac_chip_reset(struct bgma
bgmac_cco_ctl_maskset(bgmac, 1, ~(BGMAC_CHIPCTL_1_IF_TYPE_MASK |
BGMAC_CHIPCTL_1_SW_TYPE_MASK),
sw_type);
@@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
if (iost & BGMAC_BCMA_IOST_ATTACHED && !bgmac->has_robosw)
-@@ -1483,6 +1504,10 @@ int bgmac_enet_probe(struct bgmac *info)
+@@ -1486,6 +1507,10 @@ int bgmac_enet_probe(struct bgmac *info)
*/
bgmac_clk_enable(bgmac, 0);
diff --git a/target/linux/generic/patches-4.4/077-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch b/target/linux/generic/patches-4.4/077-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch
index 5f60a32576..272ec5c3f3 100644
--- a/target/linux/generic/patches-4.4/077-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch
+++ b/target/linux/generic/patches-4.4/077-0002-net-bgmac-make-it-clear-when-setting-interface-type-.patch
@@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -932,7 +932,8 @@ static void bgmac_chip_reset(struct bgma
+@@ -935,7 +935,8 @@ static void bgmac_chip_reset(struct bgma
et_swtype <<= 4;
sw_type = et_swtype;
} else if (bgmac->feature_flags & BGMAC_FEAT_SW_TYPE_EPHYRMII) {
diff --git a/target/linux/generic/patches-4.4/077-0003-net-bgmac-Fix-errant-feature-flag-check.patch b/target/linux/generic/patches-4.4/077-0003-net-bgmac-Fix-errant-feature-flag-check.patch
index 68c885b86b..830d8ccde4 100644
--- a/target/linux/generic/patches-4.4/077-0003-net-bgmac-Fix-errant-feature-flag-check.patch
+++ b/target/linux/generic/patches-4.4/077-0003-net-bgmac-Fix-errant-feature-flag-check.patch
@@ -22,7 +22,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1046,7 +1046,7 @@ static void bgmac_enable(struct bgmac *b
+@@ -1049,7 +1049,7 @@ static void bgmac_enable(struct bgmac *b
mode = (bgmac_read(bgmac, BGMAC_DEV_STATUS) & BGMAC_DS_MM_MASK) >>
BGMAC_DS_MM_SHIFT;
diff --git a/target/linux/generic/patches-4.4/077-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch b/target/linux/generic/patches-4.4/077-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch
index 9abe559e1d..5721abcf95 100644
--- a/target/linux/generic/patches-4.4/077-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch
+++ b/target/linux/generic/patches-4.4/077-0004-net-bgmac-fix-spelling-mistake-connecton-connection.patch
@@ -14,7 +14,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/broadcom/bgmac.c
+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -1465,7 +1465,7 @@ static int bgmac_phy_connect(struct bgma
+@@ -1468,7 +1468,7 @@ static int bgmac_phy_connect(struct bgma
phy_dev = phy_connect(bgmac->net_dev, bus_id, &bgmac_adjust_link,
PHY_INTERFACE_MODE_MII);
if (IS_ERR(phy_dev)) {
diff --git a/target/linux/generic/patches-4.4/077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch b/target/linux/generic/patches-4.4/077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch
deleted file mode 100644
index e09524b0fa..0000000000
--- a/target/linux/generic/patches-4.4/077-0005-bgmac-stop-clearing-DMA-receive-control-register-rig.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From fcdefccac976ee51dd6071832b842d8fb41c479c Mon Sep 17 00:00:00 2001
-From: Andy Gospodarek <gospo@broadcom.com>
-Date: Mon, 31 Oct 2016 13:32:03 -0400
-Subject: [PATCH] bgmac: stop clearing DMA receive control register right after
- it is set
-
-Current bgmac code initializes some DMA settings in the receive control
-register for some hardware and then immediately clears those settings.
-Not clearing those settings results in ~420Mbps *improvement* in
-throughput; this system can now receive frames at line-rate on Broadcom
-5871x hardware compared to ~520Mbps today. I also tested a few other
-values but found there to be no discernible difference in CPU
-utilization even if burst size and prefetching values are different.
-
-On the hardware tested there was no need to keep the code that cleared
-all but bits 16-17, but since there is a wide variety of hardware that
-used this driver (I did not look at all hardware docs for hardware using
-this IP block), I find it wise to move this call up and clear bits just
-after reading the default value from the hardware rather than completely
-removing it.
-
-This is a good candidate for -stable >=3.14 since that is when the code
-that was supposed to improve performance (but did not) was introduced.
-
-Signed-off-by: Andy Gospodarek <gospo@broadcom.com>
-Fixes: 56ceecde1f29 ("bgmac: initialize the DMA controller of core...")
-Cc: Hauke Mehrtens <hauke@hauke-m.de>
-Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/ethernet/broadcom/bgmac.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/broadcom/bgmac.c
-+++ b/drivers/net/ethernet/broadcom/bgmac.c
-@@ -307,6 +307,10 @@ static void bgmac_dma_rx_enable(struct b
- u32 ctl;
-
- ctl = bgmac_read(bgmac, ring->mmio_base + BGMAC_DMA_RX_CTL);
-+
-+ /* preserve ONLY bits 16-17 from current hardware value */
-+ ctl &= BGMAC_DMA_RX_ADDREXT_MASK;
-+
- if (bgmac->feature_flags & BGMAC_FEAT_RX_MASK_SETUP) {
- ctl &= ~BGMAC_DMA_RX_BL_MASK;
- ctl |= BGMAC_DMA_RX_BL_128 << BGMAC_DMA_RX_BL_SHIFT;
-@@ -317,7 +321,6 @@ static void bgmac_dma_rx_enable(struct b
- ctl &= ~BGMAC_DMA_RX_PT_MASK;
- ctl |= BGMAC_DMA_RX_PT_1 << BGMAC_DMA_RX_PT_SHIFT;
- }
-- ctl &= BGMAC_DMA_RX_ADDREXT_MASK;
- ctl |= BGMAC_DMA_RX_ENABLE;
- ctl |= BGMAC_DMA_RX_PARITY_DISABLE;
- ctl |= BGMAC_DMA_RX_OVERFLOW_CONT;
diff --git a/target/linux/generic/patches-4.4/201-extra_optimization.patch b/target/linux/generic/patches-4.4/201-extra_optimization.patch
index d2f6642226..04192727c0 100644
--- a/target/linux/generic/patches-4.4/201-extra_optimization.patch
+++ b/target/linux/generic/patches-4.4/201-extra_optimization.patch
@@ -1,6 +1,6 @@
--- a/Makefile
+++ b/Makefile
-@@ -620,12 +620,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
+@@ -621,12 +621,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
diff --git a/target/linux/generic/patches-4.4/202-reduce_module_size.patch b/target/linux/generic/patches-4.4/202-reduce_module_size.patch
index 283d48d992..d68c463648 100644
--- a/target/linux/generic/patches-4.4/202-reduce_module_size.patch
+++ b/target/linux/generic/patches-4.4/202-reduce_module_size.patch
@@ -1,7 +1,7 @@
--- a/Makefile
+++ b/Makefile
-@@ -402,7 +402,7 @@ KBUILD_CFLAGS_KERNEL :=
- KBUILD_AFLAGS := -D__ASSEMBLY__
+@@ -403,7 +403,7 @@ KBUILD_CFLAGS_KERNEL :=
+ KBUILD_AFLAGS := -D__ASSEMBLY__ $(call cc-option,-fno-PIE)
KBUILD_AFLAGS_MODULE := -DMODULE
KBUILD_CFLAGS_MODULE := -DMODULE
-KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
diff --git a/target/linux/generic/patches-4.4/902-debloat_proc.patch b/target/linux/generic/patches-4.4/902-debloat_proc.patch
index c90f5500e8..3123a4be68 100644
--- a/target/linux/generic/patches-4.4/902-debloat_proc.patch
+++ b/target/linux/generic/patches-4.4/902-debloat_proc.patch
@@ -173,7 +173,7 @@
goto err;
--- a/net/core/sock.c
+++ b/net/core/sock.c
-@@ -3035,6 +3035,8 @@ static __net_initdata struct pernet_oper
+@@ -3036,6 +3036,8 @@ static __net_initdata struct pernet_oper
static int __init proto_init(void)
{
@@ -184,7 +184,7 @@
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -2642,10 +2642,12 @@ static const struct file_operations fib_
+@@ -2639,10 +2639,12 @@ static const struct file_operations fib_
int __net_init fib_proc_init(struct net *net)
{
@@ -199,7 +199,7 @@
&fib_triestat_fops))
goto out2;
-@@ -2655,17 +2657,21 @@ int __net_init fib_proc_init(struct net
+@@ -2652,17 +2654,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3:
diff --git a/target/linux/ipq806x/patches-4.4/096-01-usb-dwc3-core-purge-dev_dbg-calls.patch b/target/linux/ipq806x/patches-4.4/096-01-usb-dwc3-core-purge-dev_dbg-calls.patch
index b940827529..6ace50cbc0 100644
--- a/target/linux/ipq806x/patches-4.4/096-01-usb-dwc3-core-purge-dev_dbg-calls.patch
+++ b/target/linux/ipq806x/patches-4.4/096-01-usb-dwc3-core-purge-dev_dbg-calls.patch
@@ -12,11 +12,9 @@ Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/dwc3/core.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index 22b47973..de5e01f 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -272,7 +272,8 @@ static int dwc3_event_buffers_setup(struct dwc3 *dwc)
+@@ -272,7 +272,8 @@ static int dwc3_event_buffers_setup(stru
for (n = 0; n < dwc->num_event_buffers; n++) {
evt = dwc->ev_buffs[n];
@@ -26,7 +24,7 @@ index 22b47973..de5e01f 100644
evt->buf, (unsigned long long) evt->dma,
evt->length);
-@@ -608,12 +609,13 @@ static int dwc3_core_init(struct dwc3 *dwc)
+@@ -608,12 +609,13 @@ static int dwc3_core_init(struct dwc3 *d
reg |= DWC3_GCTL_GBLHIBERNATIONEN;
break;
default:
@@ -42,5 +40,3 @@ index 22b47973..de5e01f 100644
dwc->is_fpga = true;
}
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-02-usb-dwc3-Update-maximum_speed-for-SuperSpeedPlus.patch b/target/linux/ipq806x/patches-4.4/096-02-usb-dwc3-Update-maximum_speed-for-SuperSpeedPlus.patch
index 9575166f74..de0e47fc14 100644
--- a/target/linux/ipq806x/patches-4.4/096-02-usb-dwc3-Update-maximum_speed-for-SuperSpeedPlus.patch
+++ b/target/linux/ipq806x/patches-4.4/096-02-usb-dwc3-Update-maximum_speed-for-SuperSpeedPlus.patch
@@ -17,11 +17,9 @@ Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/core.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index de5e01f..001c755 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -962,10 +962,6 @@ static int dwc3_probe(struct platform_device *pdev)
+@@ -962,10 +962,6 @@ static int dwc3_probe(struct platform_de
fladj = pdata->fladj_value;
}
@@ -32,7 +30,7 @@ index de5e01f..001c755 100644
dwc->lpm_nyet_threshold = lpm_nyet_threshold;
dwc->tx_de_emphasis = tx_de_emphasis;
-@@ -1016,6 +1012,19 @@ static int dwc3_probe(struct platform_device *pdev)
+@@ -1016,6 +1012,19 @@ static int dwc3_probe(struct platform_de
goto err1;
}
@@ -52,5 +50,3 @@ index de5e01f..001c755 100644
/* Adjust Frame Length */
dwc3_frame_length_adjustment(dwc, fladj);
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-03-usb-dwc3-Validate-the-maximum_speed-parameter.patch b/target/linux/ipq806x/patches-4.4/096-03-usb-dwc3-Validate-the-maximum_speed-parameter.patch
index 43821266a1..0f17918d36 100644
--- a/target/linux/ipq806x/patches-4.4/096-03-usb-dwc3-Validate-the-maximum_speed-parameter.patch
+++ b/target/linux/ipq806x/patches-4.4/096-03-usb-dwc3-Validate-the-maximum_speed-parameter.patch
@@ -13,11 +13,9 @@ Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/gadget.c | 9 ++++++---
2 files changed, 22 insertions(+), 5 deletions(-)
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index 001c755..17fd814 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1012,8 +1012,20 @@ static int dwc3_probe(struct platform_device *pdev)
+@@ -1012,8 +1012,20 @@ static int dwc3_probe(struct platform_de
goto err1;
}
@@ -40,7 +38,7 @@ index 001c755..17fd814 100644
dwc->maximum_speed = USB_SPEED_SUPER;
/*
-@@ -1023,6 +1035,8 @@ static int dwc3_probe(struct platform_device *pdev)
+@@ -1023,6 +1035,8 @@ static int dwc3_probe(struct platform_de
(DWC3_GHWPARAMS3_SSPHY_IFC(dwc->hwparams.hwparams3) ==
DWC3_GHWPARAMS3_SSPHY_IFC_GEN2))
dwc->maximum_speed = USB_SPEED_SUPER_PLUS;
@@ -49,13 +47,11 @@ index 001c755..17fd814 100644
}
/* Adjust Frame Length */
-diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
-index 482e6a1..3ac170f 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -1670,10 +1670,13 @@ static int dwc3_gadget_start(struct usb_gadget *g,
- case USB_SPEED_SUPER_PLUS:
- reg |= DWC3_DSTS_SUPERSPEED_PLUS;
+@@ -1634,10 +1634,13 @@ static int dwc3_gadget_start(struct usb_
+ case USB_SPEED_HIGH:
+ reg |= DWC3_DSTS_HIGHSPEED;
break;
- case USB_SPEED_SUPER: /* FALLTHROUGH */
- case USB_SPEED_UNKNOWN: /* FALTHROUGH */
@@ -70,5 +66,3 @@ index 482e6a1..3ac170f 100644
}
}
dwc3_writel(dwc->regs, DWC3_DCFG, reg);
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch b/target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch
index 47278d40c5..d522bb7e8d 100644
--- a/target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch
+++ b/target/linux/ipq806x/patches-4.4/096-04-usb-dwc3-DWC_usb31-controller-check.patch
@@ -11,11 +11,9 @@ Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/core.h | 6 ++++++
1 file changed, 6 insertions(+)
-diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
-index e4f8b90..c0520d67 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
-@@ -1024,6 +1024,12 @@ struct dwc3_gadget_ep_cmd_params {
+@@ -1021,6 +1021,12 @@ struct dwc3_gadget_ep_cmd_params {
void dwc3_set_mode(struct dwc3 *dwc, u32 mode);
int dwc3_gadget_resize_tx_fifos(struct dwc3 *dwc);
@@ -28,5 +26,3 @@ index e4f8b90..c0520d67 100644
#if IS_ENABLED(CONFIG_USB_DWC3_HOST) || IS_ENABLED(CONFIG_USB_DWC3_DUAL_ROLE)
int dwc3_host_init(struct dwc3 *dwc);
void dwc3_host_exit(struct dwc3 *dwc);
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch b/target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch
index e4805db0b4..0030446eab 100644
--- a/target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch
+++ b/target/linux/ipq806x/patches-4.4/096-05-usb-dwc3-Update-register-fields-for-SuperSpeedPlus.patch
@@ -12,11 +12,9 @@ Signed-off-by: Felipe Balbi <balbi@kernel.org>
drivers/usb/dwc3/core.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
-diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
-index c0520d67..6254b2f 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
-@@ -223,7 +223,8 @@
+@@ -222,7 +222,8 @@
/* Global HWPARAMS3 Register */
#define DWC3_GHWPARAMS3_SSPHY_IFC(n) ((n) & 3)
#define DWC3_GHWPARAMS3_SSPHY_IFC_DIS 0
@@ -26,7 +24,7 @@ index c0520d67..6254b2f 100644
#define DWC3_GHWPARAMS3_HSPHY_IFC(n) (((n) & (3 << 2)) >> 2)
#define DWC3_GHWPARAMS3_HSPHY_IFC_DIS 0
#define DWC3_GHWPARAMS3_HSPHY_IFC_UTMI 1
-@@ -249,6 +250,7 @@
+@@ -248,6 +249,7 @@
#define DWC3_DCFG_DEVADDR_MASK DWC3_DCFG_DEVADDR(0x7f)
#define DWC3_DCFG_SPEED_MASK (7 << 0)
@@ -34,7 +32,7 @@ index c0520d67..6254b2f 100644
#define DWC3_DCFG_SUPERSPEED (4 << 0)
#define DWC3_DCFG_HIGHSPEED (0 << 0)
#define DWC3_DCFG_FULLSPEED2 (1 << 0)
-@@ -339,6 +341,7 @@
+@@ -338,6 +340,7 @@
#define DWC3_DSTS_CONNECTSPD (7 << 0)
@@ -42,5 +40,3 @@ index c0520d67..6254b2f 100644
#define DWC3_DSTS_SUPERSPEED (4 << 0)
#define DWC3_DSTS_HIGHSPEED (0 << 0)
#define DWC3_DSTS_FULLSPEED2 (1 << 0)
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-06-usb-dwc3-core-improve-reset-sequence.patch b/target/linux/ipq806x/patches-4.4/096-06-usb-dwc3-core-improve-reset-sequence.patch
index 197dd057d2..428a796e07 100644
--- a/target/linux/ipq806x/patches-4.4/096-06-usb-dwc3-core-improve-reset-sequence.patch
+++ b/target/linux/ipq806x/patches-4.4/096-06-usb-dwc3-core-improve-reset-sequence.patch
@@ -24,11 +24,9 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/core.c | 48 ++++++++++++++++++------------------------------
1 file changed, 18 insertions(+), 30 deletions(-)
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index 17fd814..fa20f5a9 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -67,23 +67,9 @@ void dwc3_set_mode(struct dwc3 *dwc, u32 mode)
+@@ -67,23 +67,9 @@ void dwc3_set_mode(struct dwc3 *dwc, u32
static int dwc3_core_soft_reset(struct dwc3 *dwc)
{
u32 reg;
@@ -53,7 +51,7 @@ index 17fd814..fa20f5a9 100644
usb_phy_init(dwc->usb2_phy);
usb_phy_init(dwc->usb3_phy);
ret = phy_init(dwc->usb2_generic_phy);
-@@ -95,26 +81,28 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc)
+@@ -95,26 +81,28 @@ static int dwc3_core_soft_reset(struct d
phy_exit(dwc->usb2_generic_phy);
return ret;
}
@@ -63,6 +61,18 @@ index 17fd814..fa20f5a9 100644
- reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));
- reg &= ~DWC3_GUSB3PIPECTL_PHYSOFTRST;
- dwc3_writel(dwc->regs, DWC3_GUSB3PIPECTL(0), reg);
+-
+- /* Clear USB2 PHY reset */
+- reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
+- reg &= ~DWC3_GUSB2PHYCFG_PHYSOFTRST;
+- dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
+-
+- mdelay(100);
+-
+- /* After PHYs are stable we can take Core out of reset state */
+- reg = dwc3_readl(dwc->regs, DWC3_GCTL);
+- reg &= ~DWC3_GCTL_CORESOFTRESET;
+- dwc3_writel(dwc->regs, DWC3_GCTL, reg);
+ /*
+ * We're resetting only the device side because, if we're in host mode,
+ * XHCI driver will reset the host block. If dwc3 was configured for
@@ -70,25 +80,16 @@ index 17fd814..fa20f5a9 100644
+ */
+ if (dwc->dr_mode == USB_DR_MODE_HOST)
+ return 0;
-
-- /* Clear USB2 PHY reset */
-- reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0));
-- reg &= ~DWC3_GUSB2PHYCFG_PHYSOFTRST;
-- dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg);
++
+ reg = dwc3_readl(dwc->regs, DWC3_DCTL);
+ reg |= DWC3_DCTL_CSFTRST;
+ dwc3_writel(dwc->regs, DWC3_DCTL, reg);
-
-- mdelay(100);
++
+ do {
+ reg = dwc3_readl(dwc->regs, DWC3_DCTL);
+ if (!(reg & DWC3_DCTL_CSFTRST))
+ return 0;
-
-- /* After PHYs are stable we can take Core out of reset state */
-- reg = dwc3_readl(dwc->regs, DWC3_GCTL);
-- reg &= ~DWC3_GCTL_CORESOFTRESET;
-- dwc3_writel(dwc->regs, DWC3_GCTL, reg);
++
+ udelay(1);
+ } while (--retries);
@@ -97,5 +98,3 @@ index 17fd814..fa20f5a9 100644
}
/**
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch b/target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch
index 9b6026d914..a6510d8f56 100644
--- a/target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch
+++ b/target/linux/ipq806x/patches-4.4/096-07-usb-dwc3-drop-FIFO-resizing-logic.patch
@@ -25,8 +25,6 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/platform_data.h | 1 -
7 files changed, 2 insertions(+), 108 deletions(-)
-diff --git a/Documentation/devicetree/bindings/usb/dwc3.txt b/Documentation/devicetree/bindings/usb/dwc3.txt
-index fb2ad0a..1569568 100644
--- a/Documentation/devicetree/bindings/usb/dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/dwc3.txt
@@ -14,7 +14,6 @@ Optional properties:
@@ -52,8 +50,6 @@ index fb2ad0a..1569568 100644
usb-phy = <&usb2_phy>, <&usb3,phy>;
- tx-fifo-resize;
};
-diff --git a/Documentation/devicetree/bindings/usb/qcom,dwc3.txt b/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
-index ca164e7..39acb08 100644
--- a/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
+++ b/Documentation/devicetree/bindings/usb/qcom,dwc3.txt
@@ -59,7 +59,6 @@ Example device nodes:
@@ -64,11 +60,9 @@ index ca164e7..39acb08 100644
dr_mode = "host";
};
};
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index fa20f5a9..67d183a 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -882,9 +882,6 @@ static int dwc3_probe(struct platform_device *pdev)
+@@ -882,9 +882,6 @@ static int dwc3_probe(struct platform_de
dwc->usb3_lpm_capable = device_property_read_bool(dev,
"snps,usb3_lpm_capable");
@@ -78,7 +72,7 @@ index fa20f5a9..67d183a 100644
dwc->disable_scramble_quirk = device_property_read_bool(dev,
"snps,disable_scramble_quirk");
dwc->u2exit_lfps_quirk = device_property_read_bool(dev,
-@@ -926,7 +923,6 @@ static int dwc3_probe(struct platform_device *pdev)
+@@ -926,7 +923,6 @@ static int dwc3_probe(struct platform_de
if (pdata->hird_threshold)
hird_threshold = pdata->hird_threshold;
@@ -86,11 +80,9 @@ index fa20f5a9..67d183a 100644
dwc->usb3_lpm_capable = pdata->usb3_lpm_capable;
dwc->dr_mode = pdata->dr_mode;
-diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
-index 6254b2f..7cbe9e9 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
-@@ -709,9 +709,7 @@ struct dwc3_scratchpad_array {
+@@ -707,9 +707,7 @@ struct dwc3_scratchpad_array {
* 0 - utmi_sleep_n
* 1 - utmi_l1_suspend_n
* @is_fpga: true when we are using the FPGA board
@@ -100,7 +92,7 @@ index 6254b2f..7cbe9e9 100644
* @setup_packet_pending: true when there's a Setup Packet in FIFO. Workaround
* @start_config_issued: true when StartConfig command has been issued
* @three_stage_setup: set if we perform a three phase setup
-@@ -855,9 +853,7 @@ struct dwc3 {
+@@ -852,9 +850,7 @@ struct dwc3 {
unsigned has_lpm_erratum:1;
unsigned is_utmi_l1_suspend:1;
unsigned is_fpga:1;
@@ -110,7 +102,7 @@ index 6254b2f..7cbe9e9 100644
unsigned setup_packet_pending:1;
unsigned three_stage_setup:1;
unsigned usb3_lpm_capable:1;
-@@ -1025,7 +1021,6 @@ struct dwc3_gadget_ep_cmd_params {
+@@ -1022,7 +1018,6 @@ struct dwc3_gadget_ep_cmd_params {
/* prototypes */
void dwc3_set_mode(struct dwc3 *dwc, u32 mode);
@@ -118,11 +110,9 @@ index 6254b2f..7cbe9e9 100644
/* check whether we are on the DWC_usb31 core */
static inline bool dwc3_is_usb31(struct dwc3 *dwc)
-diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c
-index eca2e6d..4454de0 100644
--- a/drivers/usb/dwc3/ep0.c
+++ b/drivers/usb/dwc3/ep0.c
-@@ -586,9 +586,6 @@ static int dwc3_ep0_set_config(struct dwc3 *dwc, struct usb_ctrlrequest *ctrl)
+@@ -583,9 +583,6 @@ static int dwc3_ep0_set_config(struct dw
reg = dwc3_readl(dwc->regs, DWC3_DCTL);
reg |= (DWC3_DCTL_ACCEPTU1ENA | DWC3_DCTL_ACCEPTU2ENA);
dwc3_writel(dwc->regs, DWC3_DCTL, reg);
@@ -132,7 +122,7 @@ index eca2e6d..4454de0 100644
}
break;
-@@ -1027,12 +1024,6 @@ static int dwc3_ep0_start_control_status(struct dwc3_ep *dep)
+@@ -1020,12 +1017,6 @@ static int dwc3_ep0_start_control_status
static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep)
{
@@ -145,11 +135,9 @@ index eca2e6d..4454de0 100644
WARN_ON(dwc3_ep0_start_control_status(dep));
}
-diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
-index d54a028..3a5c271 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -145,92 +145,6 @@ int dwc3_gadget_set_link_state(struct dwc3 *dwc, enum dwc3_link_state state)
+@@ -145,92 +145,6 @@ int dwc3_gadget_set_link_state(struct dw
return -ETIMEDOUT;
}
@@ -242,8 +230,6 @@ index d54a028..3a5c271 100644
void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req,
int status)
{
-diff --git a/drivers/usb/dwc3/platform_data.h b/drivers/usb/dwc3/platform_data.h
-index 2bb4d3a..aaa6f00 100644
--- a/drivers/usb/dwc3/platform_data.h
+++ b/drivers/usb/dwc3/platform_data.h
@@ -23,7 +23,6 @@
@@ -254,5 +240,3 @@ index 2bb4d3a..aaa6f00 100644
bool usb3_lpm_capable;
unsigned is_utmi_l1_suspend:1;
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch b/target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch
index 8bc0b9817f..32ff364e5a 100644
--- a/target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch
+++ b/target/linux/ipq806x/patches-4.4/096-08-usb-dwc3-remove-num_event_buffers.patch
@@ -19,11 +19,9 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c | 38 +++++++---------------
3 files changed, 44 insertions(+), 77 deletions(-)
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index 67d183a..9e5c57c7 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -203,13 +203,10 @@ static struct dwc3_event_buffer *dwc3_alloc_one_event_buffer(struct dwc3 *dwc,
+@@ -203,13 +203,10 @@ static struct dwc3_event_buffer *dwc3_al
static void dwc3_free_event_buffers(struct dwc3 *dwc)
{
struct dwc3_event_buffer *evt;
@@ -40,7 +38,7 @@ index 67d183a..9e5c57c7 100644
}
/**
-@@ -222,27 +219,19 @@ static void dwc3_free_event_buffers(struct dwc3 *dwc)
+@@ -222,27 +219,19 @@ static void dwc3_free_event_buffers(stru
*/
static int dwc3_alloc_event_buffers(struct dwc3 *dwc, unsigned length)
{
@@ -75,7 +73,7 @@ index 67d183a..9e5c57c7 100644
return 0;
}
-@@ -256,25 +245,22 @@ static int dwc3_alloc_event_buffers(struct dwc3 *dwc, unsigned length)
+@@ -256,25 +245,22 @@ static int dwc3_alloc_event_buffers(stru
static int dwc3_event_buffers_setup(struct dwc3 *dwc)
{
struct dwc3_event_buffer *evt;
@@ -116,7 +114,7 @@ index 67d183a..9e5c57c7 100644
return 0;
}
-@@ -282,19 +268,16 @@ static int dwc3_event_buffers_setup(struct dwc3 *dwc)
+@@ -282,19 +268,16 @@ static int dwc3_event_buffers_setup(stru
static void dwc3_event_buffers_cleanup(struct dwc3 *dwc)
{
struct dwc3_event_buffer *evt;
@@ -143,11 +141,9 @@ index 67d183a..9e5c57c7 100644
}
static int dwc3_alloc_scratch_buffers(struct dwc3 *dwc)
-diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
-index 4ea4b51..be03999 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
-@@ -667,7 +667,6 @@ struct dwc3_scratchpad_array {
+@@ -665,7 +665,6 @@ struct dwc3_scratchpad_array {
* @regs: base address for our registers
* @regs_size: address space size
* @nr_scratch: number of scratch buffers
@@ -155,7 +151,7 @@ index 4ea4b51..be03999 100644
* @u1u2: only used on revisions <1.83a for workaround
* @maximum_speed: maximum speed requested (mainly for testing purposes)
* @revision: revision register contents
-@@ -778,7 +777,6 @@ struct dwc3 {
+@@ -775,7 +774,6 @@ struct dwc3 {
u32 gctl;
u32 nr_scratch;
@@ -163,11 +159,9 @@ index 4ea4b51..be03999 100644
u32 u1u2;
u32 maximum_speed;
-diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
-index e6bd3a9..5e6a495 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -2602,14 +2602,14 @@ static void dwc3_process_event_entry(struct dwc3 *dwc,
+@@ -2556,14 +2556,14 @@ static void dwc3_process_event_entry(str
}
}
@@ -184,7 +178,7 @@ index e6bd3a9..5e6a495 100644
left = evt->count;
if (!(evt->flags & DWC3_EVENT_PENDING))
-@@ -2634,7 +2634,7 @@ static irqreturn_t dwc3_process_event_buf(struct dwc3 *dwc, u32 buf)
+@@ -2588,7 +2588,7 @@ static irqreturn_t dwc3_process_event_bu
evt->lpos = (evt->lpos + 4) % DWC3_EVENT_BUFFERS_SIZE;
left -= 4;
@@ -193,7 +187,7 @@ index e6bd3a9..5e6a495 100644
}
evt->count = 0;
-@@ -2642,9 +2642,9 @@ static irqreturn_t dwc3_process_event_buf(struct dwc3 *dwc, u32 buf)
+@@ -2596,9 +2596,9 @@ static irqreturn_t dwc3_process_event_bu
ret = IRQ_HANDLED;
/* Unmask interrupt */
@@ -205,7 +199,7 @@ index e6bd3a9..5e6a495 100644
return ret;
}
-@@ -2654,27 +2654,23 @@ static irqreturn_t dwc3_thread_interrupt(int irq, void *_dwc)
+@@ -2608,27 +2608,23 @@ static irqreturn_t dwc3_thread_interrupt
struct dwc3 *dwc = _dwc;
unsigned long flags;
irqreturn_t ret = IRQ_NONE;
@@ -237,7 +231,7 @@ index e6bd3a9..5e6a495 100644
count &= DWC3_GEVNTCOUNT_MASK;
if (!count)
return IRQ_NONE;
-@@ -2683,9 +2679,9 @@ static irqreturn_t dwc3_check_event_buf(struct dwc3 *dwc, u32 buf)
+@@ -2637,9 +2633,9 @@ static irqreturn_t dwc3_check_event_buf(
evt->flags |= DWC3_EVENT_PENDING;
/* Mask interrupt */
@@ -249,7 +243,7 @@ index e6bd3a9..5e6a495 100644
return IRQ_WAKE_THREAD;
}
-@@ -2693,18 +2689,8 @@ static irqreturn_t dwc3_check_event_buf(struct dwc3 *dwc, u32 buf)
+@@ -2647,18 +2643,8 @@ static irqreturn_t dwc3_check_event_buf(
static irqreturn_t dwc3_interrupt(int irq, void *_dwc)
{
struct dwc3 *dwc = _dwc;
@@ -269,5 +263,3 @@ index e6bd3a9..5e6a495 100644
}
/**
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch b/target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch
index 64d796cf38..34f42110a9 100644
--- a/target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch
+++ b/target/linux/ipq806x/patches-4.4/096-09-usb-dwc3-drop-ev_buffs-array.patch
@@ -15,11 +15,9 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c | 4 ++--
3 files changed, 7 insertions(+), 12 deletions(-)
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index 9e5c57c7..05b7ec3 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -204,7 +204,7 @@ static void dwc3_free_event_buffers(struct dwc3 *dwc)
+@@ -204,7 +204,7 @@ static void dwc3_free_event_buffers(stru
{
struct dwc3_event_buffer *evt;
@@ -28,7 +26,7 @@ index 9e5c57c7..05b7ec3 100644
if (evt)
dwc3_free_one_event_buffer(dwc, evt);
}
-@@ -221,17 +221,12 @@ static int dwc3_alloc_event_buffers(struct dwc3 *dwc, unsigned length)
+@@ -221,17 +221,12 @@ static int dwc3_alloc_event_buffers(stru
{
struct dwc3_event_buffer *evt;
@@ -47,7 +45,7 @@ index 9e5c57c7..05b7ec3 100644
return 0;
}
-@@ -246,7 +241,7 @@ static int dwc3_event_buffers_setup(struct dwc3 *dwc)
+@@ -246,7 +241,7 @@ static int dwc3_event_buffers_setup(stru
{
struct dwc3_event_buffer *evt;
@@ -56,7 +54,7 @@ index 9e5c57c7..05b7ec3 100644
dwc3_trace(trace_dwc3_core,
"Event buf %p dma %08llx length %d\n",
evt->buf, (unsigned long long) evt->dma,
-@@ -269,7 +264,7 @@ static void dwc3_event_buffers_cleanup(struct dwc3 *dwc)
+@@ -269,7 +264,7 @@ static void dwc3_event_buffers_cleanup(s
{
struct dwc3_event_buffer *evt;
@@ -65,11 +63,9 @@ index 9e5c57c7..05b7ec3 100644
evt->lpos = 0;
-diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
-index be03999..df72234a 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
-@@ -753,7 +753,7 @@ struct dwc3 {
+@@ -750,7 +750,7 @@ struct dwc3 {
struct platform_device *xhci;
struct resource xhci_resources[DWC3_XHCI_RESOURCES_NUM];
@@ -78,11 +74,9 @@ index be03999..df72234a 100644
struct dwc3_ep *eps[DWC3_ENDPOINTS_NUM];
struct usb_gadget gadget;
-diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
-index 5e6a495..96dfde0 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -2609,7 +2609,7 @@ static irqreturn_t dwc3_process_event_buf(struct dwc3 *dwc)
+@@ -2563,7 +2563,7 @@ static irqreturn_t dwc3_process_event_bu
int left;
u32 reg;
@@ -91,7 +85,7 @@ index 5e6a495..96dfde0 100644
left = evt->count;
if (!(evt->flags & DWC3_EVENT_PENDING))
-@@ -2668,7 +2668,7 @@ static irqreturn_t dwc3_check_event_buf(struct dwc3 *dwc)
+@@ -2622,7 +2622,7 @@ static irqreturn_t dwc3_check_event_buf(
u32 count;
u32 reg;
@@ -100,5 +94,3 @@ index 5e6a495..96dfde0 100644
count = dwc3_readl(dwc->regs, DWC3_GEVNTCOUNT(0));
count &= DWC3_GEVNTCOUNT_MASK;
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/096-10-usb-dwc3-core-fix-PHY-handling-during-suspend.patch b/target/linux/ipq806x/patches-4.4/096-10-usb-dwc3-core-fix-PHY-handling-during-suspend.patch
index 87f1562cc6..8bf09edfbd 100644
--- a/target/linux/ipq806x/patches-4.4/096-10-usb-dwc3-core-fix-PHY-handling-during-suspend.patch
+++ b/target/linux/ipq806x/patches-4.4/096-10-usb-dwc3-core-fix-PHY-handling-during-suspend.patch
@@ -15,11 +15,9 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/core.c | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
-diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
-index fa20f5a9..34277ce 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
-@@ -1150,6 +1150,11 @@ static int dwc3_suspend(struct device *dev)
+@@ -1124,6 +1124,11 @@ static int dwc3_suspend(struct device *d
phy_exit(dwc->usb2_generic_phy);
phy_exit(dwc->usb3_generic_phy);
@@ -31,7 +29,7 @@ index fa20f5a9..34277ce 100644
pinctrl_pm_select_sleep_state(dev);
return 0;
-@@ -1163,11 +1168,21 @@ static int dwc3_resume(struct device *dev)
+@@ -1137,11 +1142,21 @@ static int dwc3_resume(struct device *de
pinctrl_pm_select_default_state(dev);
@@ -54,7 +52,7 @@ index fa20f5a9..34277ce 100644
ret = phy_init(dwc->usb3_generic_phy);
if (ret < 0)
-@@ -1200,6 +1215,12 @@ static int dwc3_resume(struct device *dev)
+@@ -1174,6 +1189,12 @@ static int dwc3_resume(struct device *de
err_usb2phy_init:
phy_exit(dwc->usb2_generic_phy);
@@ -67,5 +65,3 @@ index fa20f5a9..34277ce 100644
return ret;
}
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/097-4-usb-dwc3-fix-missing-platform_set_drvdata-in-dwc3_of_simple_probe.patch b/target/linux/ipq806x/patches-4.4/097-4-usb-dwc3-fix-missing-platform_set_drvdata-in-dwc3_of_simple_probe.patch
index 2aeadc30ed..2d18e41514 100644
--- a/target/linux/ipq806x/patches-4.4/097-4-usb-dwc3-fix-missing-platform_set_drvdata-in-dwc3_of_simple_probe.patch
+++ b/target/linux/ipq806x/patches-4.4/097-4-usb-dwc3-fix-missing-platform_set_drvdata-in-dwc3_of_simple_probe.patch
@@ -15,11 +15,9 @@ Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/dwc3-of-simple.c | 1 +
1 file changed, 1 insertion(+)
-diff --git a/drivers/usb/dwc3/dwc3-of-simple.c b/drivers/usb/dwc3/dwc3-of-simple.c
-index 9743353..e56d59b 100644
--- a/drivers/usb/dwc3/dwc3-of-simple.c
+++ b/drivers/usb/dwc3/dwc3-of-simple.c
-@@ -61,6 +61,7 @@ static int dwc3_of_simple_probe(struct platform_device *pdev)
+@@ -61,6 +61,7 @@ static int dwc3_of_simple_probe(struct p
if (!simple->clks)
return -ENOMEM;
@@ -27,5 +25,3 @@ index 9743353..e56d59b 100644
simple->dev = dev;
for (i = 0; i < simple->num_clocks; i++) {
---
-cgit v0.12
diff --git a/target/linux/ipq806x/patches-4.4/112-ARM-dts-qcom-add-pcie-nodes-to-ipq806x-platforms.patch b/target/linux/ipq806x/patches-4.4/112-ARM-dts-qcom-add-pcie-nodes-to-ipq806x-platforms.patch
index ff17370c00..90631c6694 100644
--- a/target/linux/ipq806x/patches-4.4/112-ARM-dts-qcom-add-pcie-nodes-to-ipq806x-platforms.patch
+++ b/target/linux/ipq806x/patches-4.4/112-ARM-dts-qcom-add-pcie-nodes-to-ipq806x-platforms.patch
@@ -98,7 +98,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
};
intc: interrupt-controller@2000000 {
-@@ -417,6 +448,144 @@
+@@ -415,6 +446,144 @@
dr_mode = "host";
};
};
diff --git a/target/linux/ipq806x/patches-4.4/115-add-pcie-aux-clk-dts.patch b/target/linux/ipq806x/patches-4.4/115-add-pcie-aux-clk-dts.patch
index af6e215596..636a6c76a9 100644
--- a/target/linux/ipq806x/patches-4.4/115-add-pcie-aux-clk-dts.patch
+++ b/target/linux/ipq806x/patches-4.4/115-add-pcie-aux-clk-dts.patch
@@ -1,6 +1,6 @@
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-@@ -477,15 +477,21 @@
+@@ -475,15 +475,21 @@
clocks = <&gcc PCIE_A_CLK>,
<&gcc PCIE_H_CLK>,
@@ -26,7 +26,7 @@
pinctrl-0 = <&pcie0_pins>;
pinctrl-names = "default";
-@@ -523,15 +529,21 @@
+@@ -521,15 +527,21 @@
clocks = <&gcc PCIE_1_A_CLK>,
<&gcc PCIE_1_H_CLK>,
@@ -52,7 +52,7 @@
pinctrl-0 = <&pcie1_pins>;
pinctrl-names = "default";
-@@ -569,15 +581,21 @@
+@@ -567,15 +579,21 @@
clocks = <&gcc PCIE_2_A_CLK>,
<&gcc PCIE_2_H_CLK>,
diff --git a/target/linux/ipq806x/patches-4.4/157-ARM-DT-ipq8064-Add-ADM-device-node.patch b/target/linux/ipq806x/patches-4.4/157-ARM-DT-ipq8064-Add-ADM-device-node.patch
index 3c3212b26d..5383041ffc 100644
--- a/target/linux/ipq806x/patches-4.4/157-ARM-DT-ipq8064-Add-ADM-device-node.patch
+++ b/target/linux/ipq806x/patches-4.4/157-ARM-DT-ipq8064-Add-ADM-device-node.patch
@@ -13,7 +13,7 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-@@ -723,6 +723,26 @@
+@@ -721,6 +721,26 @@
status = "disabled";
};
diff --git a/target/linux/ipq806x/patches-4.4/164-arm-qcom-dts-Add-NAND-controller-node-for-ipq806x.patch b/target/linux/ipq806x/patches-4.4/164-arm-qcom-dts-Add-NAND-controller-node-for-ipq806x.patch
index 27662d0552..664e7b5b53 100644
--- a/target/linux/ipq806x/patches-4.4/164-arm-qcom-dts-Add-NAND-controller-node-for-ipq806x.patch
+++ b/target/linux/ipq806x/patches-4.4/164-arm-qcom-dts-Add-NAND-controller-node-for-ipq806x.patch
@@ -26,7 +26,7 @@ arch/arm/boot/dts/qcom-ipq8064.dtsi | 15 +++++++++++++++
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-@@ -743,6 +743,22 @@
+@@ -741,6 +741,22 @@
status = "disabled";
};
diff --git a/target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch b/target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch
index 4a0528885f..aa12121dff 100644
--- a/target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch
+++ b/target/linux/ipq806x/patches-4.4/708-ARM-dts-qcom-add-gmac-nodes-to-ipq806x-platforms.patch
@@ -121,7 +121,7 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
};
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
-@@ -795,6 +795,92 @@
+@@ -793,6 +793,92 @@
status = "disabled";
};
diff --git a/target/linux/lantiq/patches-4.4/0039-MIPS-lantiq-danube-initialize-usb-on-boot.patch b/target/linux/lantiq/patches-4.4/0039-MIPS-lantiq-danube-initialize-usb-on-boot.patch
index e11578a755..bd42f38c0a 100644
--- a/target/linux/lantiq/patches-4.4/0039-MIPS-lantiq-danube-initialize-usb-on-boot.patch
+++ b/target/linux/lantiq/patches-4.4/0039-MIPS-lantiq-danube-initialize-usb-on-boot.patch
@@ -1,5 +1,5 @@
---- a/arch/mips/lantiq/xway/reset.c 2016-01-20 08:45:18.382597595 +0100
-+++ b/arch/mips/lantiq/xway/reset.c 2016-01-20 08:45:31.927107016 +0100
+--- a/arch/mips/lantiq/xway/reset.c
++++ b/arch/mips/lantiq/xway/reset.c
@@ -370,6 +370,7 @@ static int __init mips_reboot_setup(void
panic("Failed to remap core memory");
diff --git a/target/linux/lantiq/patches-4.4/0047-poweroff.patch b/target/linux/lantiq/patches-4.4/0047-poweroff.patch
index 54249bba52..88aed2ce96 100644
--- a/target/linux/lantiq/patches-4.4/0047-poweroff.patch
+++ b/target/linux/lantiq/patches-4.4/0047-poweroff.patch
@@ -13,7 +13,7 @@
static void ltq_usb_init(void)
{
/* Power for USB cores 1 & 2 */
-@@ -379,7 +373,6 @@ static int __init mips_reboot_setup(void
+@@ -380,7 +374,6 @@ static int __init mips_reboot_setup(void
_machine_restart = ltq_machine_restart;
_machine_halt = ltq_machine_halt;
diff --git a/target/linux/layerscape/patches-4.4/3023-powerpc-fsl-move-mpc85xx.h-to-include-linux-fsl.patch b/target/linux/layerscape/patches-4.4/3023-powerpc-fsl-move-mpc85xx.h-to-include-linux-fsl.patch
index 11ff8a7bb9..168209f2d0 100644
--- a/target/linux/layerscape/patches-4.4/3023-powerpc-fsl-move-mpc85xx.h-to-include-linux-fsl.patch
+++ b/target/linux/layerscape/patches-4.4/3023-powerpc-fsl-move-mpc85xx.h-to-include-linux-fsl.patch
@@ -133,7 +133,7 @@ Integrated-by: Zhao Qiang <qiang.zhao@nxp.com>
#include <linux/io.h>
#include <linux/kernel.h>
#include <linux/module.h>
-@@ -1152,7 +1153,6 @@ bad_args:
+@@ -1155,7 +1156,6 @@ bad_args:
}
#ifdef CONFIG_PPC
diff --git a/target/linux/layerscape/patches-4.4/8073-ls1012a-added-clock-configuration.patch b/target/linux/layerscape/patches-4.4/8073-ls1012a-added-clock-configuration.patch
index 9cef319737..bee2824da7 100644
--- a/target/linux/layerscape/patches-4.4/8073-ls1012a-added-clock-configuration.patch
+++ b/target/linux/layerscape/patches-4.4/8073-ls1012a-added-clock-configuration.patch
@@ -51,7 +51,7 @@ Integrated-by: Zhao Qiang <qiang.zhao@nxp.com>
.compat = "fsl,ls1043a-clockgen",
.init_periph = t2080_init_periph,
.cmux_groups = {
-@@ -1272,6 +1290,7 @@ CLK_OF_DECLARE(qoriq_clockgen_2, "fsl,qo
+@@ -1275,6 +1293,7 @@ CLK_OF_DECLARE(qoriq_clockgen_2, "fsl,qo
CLK_OF_DECLARE(qoriq_clockgen_ls1021a, "fsl,ls1021a-clockgen", clockgen_init);
CLK_OF_DECLARE(qoriq_clockgen_ls1043a, "fsl,ls1043a-clockgen", clockgen_init);
CLK_OF_DECLARE(qoriq_clockgen_ls2080a, "fsl,ls2080a-clockgen", clockgen_init);