aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-20 18:48:34 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-20 18:48:34 -0500
commitba6d973f78eb62ffebb32f6ef3334fc9a3b33d22 (patch)
tree81b4e19de7308ce46ac7d0f670302906a906f0d0
parent3eb86259eca6a363ed7bb13ecea5cda809f7b97d (diff)
parenta763f78cea845c91b8d91f93dabf70c407635dc5 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes and cleanups from David Miller: 1) Use rb_entry() instead of hardcoded container_of(), from Geliang Tang. 2) Use correct memory barriers in stammac driver, from Pavel Machek. 3) Fix assoc bind address handling in SCTP, from Xin Long. 4) Make the length check for UFO handling consistent between __ip_append_data() and ip_finish_output(), from Zheng Li. 5) HSI driver compatible strings were busted fro hix5hd2, from Dongpo Li. 6) Handle devm_ioremap() errors properly in cavium driver, from Arvind Yadav. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (22 commits) RDS: use rb_entry() net_sched: sch_netem: use rb_entry() net_sched: sch_fq: use rb_entry() net/mlx5: use rb_entry() ethernet: sfc: Add Kconfig entry for vendor Solarflare sctp: not copying duplicate addrs to the assoc's bind address list sctp: reduce indent level in sctp_copy_local_addr_list ARM: dts: hix5hd2: don't change the existing compatible string net: hix5hd2_gmac: fix compatible strings name openvswitch: Add a missing break statement. net: netcp: ethss: fix 10gbe host port tx pri map configuration net: netcp: ethss: fix errors in ethtool ops fsl/fman: enable compilation on ARM64 fsl/fman: A007273 only applies to PPC SoCs powerpc: fsl/fman: remove fsl,fman from of_device_ids[] fsl/fman: fix 1G support for QSGMII interfaces dt: bindings: net: use boolean dt properties for eee broken modes net: phy: use boolean dt properties for eee broken modes net: phy: fix sign type error in genphy_config_eee_advert ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output ...
-rw-r--r--Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt13
-rw-r--r--Documentation/devicetree/bindings/net/phy.txt10
-rw-r--r--arch/arm/boot/dts/hisi-x5hd2.dtsi4
-rw-r--r--arch/powerpc/platforms/85xx/corenet_generic.c3
-rw-r--r--drivers/net/ethernet/Kconfig1
-rw-r--r--drivers/net/ethernet/cavium/octeon/octeon_mgmt.c6
-rw-r--r--drivers/net/ethernet/freescale/fman/Kconfig2
-rw-r--r--drivers/net/ethernet/freescale/fman/fman.c15
-rw-r--r--drivers/net/ethernet/freescale/fman/mac.c1
-rw-r--r--drivers/net/ethernet/hisilicon/hix5hd2_gmac.c13
-rw-r--r--drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c2
-rw-r--r--drivers/net/ethernet/sfc/Kconfig21
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c4
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/enh_desc.c2
-rw-r--r--drivers/net/ethernet/stmicro/stmmac/stmmac_main.c8
-rw-r--r--drivers/net/ethernet/ti/netcp_ethss.c24
-rw-r--r--drivers/net/phy/phy_device.c22
-rw-r--r--include/dt-bindings/net/mdio.h19
-rw-r--r--net/ipv4/ip_output.c2
-rw-r--r--net/openvswitch/flow_netlink.c1
-rw-r--r--net/rds/rdma.c2
-rw-r--r--net/sched/sch_fq.c14
-rw-r--r--net/sched/sch_netem.c2
-rw-r--r--net/sctp/bind_addr.c3
-rw-r--r--net/sctp/protocol.c40
25 files changed, 148 insertions, 86 deletions
diff --git a/Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt b/Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt
index 063c02da018a..eea73adc678f 100644
--- a/Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt
+++ b/Documentation/devicetree/bindings/net/hisilicon-hix5hd2-gmac.txt
@@ -2,11 +2,14 @@ Hisilicon hix5hd2 gmac controller
2 2
3Required properties: 3Required properties:
4- compatible: should contain one of the following SoC strings: 4- compatible: should contain one of the following SoC strings:
5 * "hisilicon,hix5hd2-gemac" 5 * "hisilicon,hix5hd2-gmac"
6 * "hisilicon,hi3798cv200-gemac" 6 * "hisilicon,hi3798cv200-gmac"
7 * "hisilicon,hi3516a-gmac"
7 and one of the following version string: 8 and one of the following version string:
8 * "hisilicon,hisi-gemac-v1" 9 * "hisilicon,hisi-gmac-v1"
9 * "hisilicon,hisi-gemac-v2" 10 * "hisilicon,hisi-gmac-v2"
11 The version v1 includes SoCs hix5hd2.
12 The version v2 includes SoCs hi3798cv200, hi3516a.
10- reg: specifies base physical address(s) and size of the device registers. 13- reg: specifies base physical address(s) and size of the device registers.
11 The first region is the MAC register base and size. 14 The first region is the MAC register base and size.
12 The second region is external interface control register. 15 The second region is external interface control register.
@@ -35,7 +38,7 @@ Required properties:
35 38
36Example: 39Example:
37 gmac0: ethernet@f9840000 { 40 gmac0: ethernet@f9840000 {
38 compatible = "hisilicon,hi3798cv200-gemac", "hisilicon,hisi-gemac-v2"; 41 compatible = "hisilicon,hi3798cv200-gmac", "hisilicon,hisi-gmac-v2";
39 reg = <0xf9840000 0x1000>,<0xf984300c 0x4>; 42 reg = <0xf9840000 0x1000>,<0xf984300c 0x4>;
40 interrupts = <0 71 4>; 43 interrupts = <0 71 4>;
41 #address-cells = <1>; 44 #address-cells = <1>;
diff --git a/Documentation/devicetree/bindings/net/phy.txt b/Documentation/devicetree/bindings/net/phy.txt
index 54749b60a466..ff1bc4b1bb3b 100644
--- a/Documentation/devicetree/bindings/net/phy.txt
+++ b/Documentation/devicetree/bindings/net/phy.txt
@@ -38,8 +38,14 @@ Optional Properties:
38- enet-phy-lane-swap: If set, indicates the PHY will swap the TX/RX lanes to 38- enet-phy-lane-swap: If set, indicates the PHY will swap the TX/RX lanes to
39 compensate for the board being designed with the lanes swapped. 39 compensate for the board being designed with the lanes swapped.
40 40
41- eee-broken-modes: Bits to clear in the MDIO_AN_EEE_ADV register to 41- eee-broken-100tx:
42 disable EEE broken modes. 42- eee-broken-1000t:
43- eee-broken-10gt:
44- eee-broken-1000kx:
45- eee-broken-10gkx4:
46- eee-broken-10gkr:
47 Mark the corresponding energy efficient ethernet mode as broken and
48 request the ethernet to stop advertising it.
43 49
44Example: 50Example:
45 51
diff --git a/arch/arm/boot/dts/hisi-x5hd2.dtsi b/arch/arm/boot/dts/hisi-x5hd2.dtsi
index c02e092fad8b..6c712a97e1fe 100644
--- a/arch/arm/boot/dts/hisi-x5hd2.dtsi
+++ b/arch/arm/boot/dts/hisi-x5hd2.dtsi
@@ -438,7 +438,7 @@
438 }; 438 };
439 439
440 gmac0: ethernet@1840000 { 440 gmac0: ethernet@1840000 {
441 compatible = "hisilicon,hix5hd2-gemac", "hisilicon,hisi-gemac-v1"; 441 compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1";
442 reg = <0x1840000 0x1000>,<0x184300c 0x4>; 442 reg = <0x1840000 0x1000>,<0x184300c 0x4>;
443 interrupts = <0 71 4>; 443 interrupts = <0 71 4>;
444 clocks = <&clock HIX5HD2_MAC0_CLK>; 444 clocks = <&clock HIX5HD2_MAC0_CLK>;
@@ -447,7 +447,7 @@
447 }; 447 };
448 448
449 gmac1: ethernet@1841000 { 449 gmac1: ethernet@1841000 {
450 compatible = "hisilicon,hix5hd2-gemac", "hisilicon,hisi-gemac-v1"; 450 compatible = "hisilicon,hix5hd2-gmac", "hisilicon,hisi-gmac-v1";
451 reg = <0x1841000 0x1000>,<0x1843010 0x4>; 451 reg = <0x1841000 0x1000>,<0x1843010 0x4>;
452 interrupts = <0 72 4>; 452 interrupts = <0 72 4>;
453 clocks = <&clock HIX5HD2_MAC1_CLK>; 453 clocks = <&clock HIX5HD2_MAC1_CLK>;
diff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c
index 3803b0addf65..6c0ba75fb256 100644
--- a/arch/powerpc/platforms/85xx/corenet_generic.c
+++ b/arch/powerpc/platforms/85xx/corenet_generic.c
@@ -117,9 +117,6 @@ static const struct of_device_id of_device_ids[] = {
117 { 117 {
118 .compatible = "fsl,qe", 118 .compatible = "fsl,qe",
119 }, 119 },
120 {
121 .compatible = "fsl,fman",
122 },
123 /* The following two are for the Freescale hypervisor */ 120 /* The following two are for the Freescale hypervisor */
124 { 121 {
125 .name = "hypervisor", 122 .name = "hypervisor",
diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
index 6e16e441f85e..e4c28fed61d5 100644
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
@@ -166,7 +166,6 @@ source "drivers/net/ethernet/seeq/Kconfig"
166source "drivers/net/ethernet/silan/Kconfig" 166source "drivers/net/ethernet/silan/Kconfig"
167source "drivers/net/ethernet/sis/Kconfig" 167source "drivers/net/ethernet/sis/Kconfig"
168source "drivers/net/ethernet/sfc/Kconfig" 168source "drivers/net/ethernet/sfc/Kconfig"
169source "drivers/net/ethernet/sfc/falcon/Kconfig"
170source "drivers/net/ethernet/sgi/Kconfig" 169source "drivers/net/ethernet/sgi/Kconfig"
171source "drivers/net/ethernet/smsc/Kconfig" 170source "drivers/net/ethernet/smsc/Kconfig"
172source "drivers/net/ethernet/stmicro/Kconfig" 171source "drivers/net/ethernet/stmicro/Kconfig"
diff --git a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
index 16e12c45904b..21f80f5744ba 100644
--- a/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
+++ b/drivers/net/ethernet/cavium/octeon/octeon_mgmt.c
@@ -1469,6 +1469,12 @@ static int octeon_mgmt_probe(struct platform_device *pdev)
1469 p->agl = (u64)devm_ioremap(&pdev->dev, p->agl_phys, p->agl_size); 1469 p->agl = (u64)devm_ioremap(&pdev->dev, p->agl_phys, p->agl_size);
1470 p->agl_prt_ctl = (u64)devm_ioremap(&pdev->dev, p->agl_prt_ctl_phys, 1470 p->agl_prt_ctl = (u64)devm_ioremap(&pdev->dev, p->agl_prt_ctl_phys,
1471 p->agl_prt_ctl_size); 1471 p->agl_prt_ctl_size);
1472 if (!p->mix || !p->agl || !p->agl_prt_ctl) {
1473 dev_err(&pdev->dev, "failed to map I/O memory\n");
1474 result = -ENOMEM;
1475 goto err;
1476 }
1477
1472 spin_lock_init(&p->lock); 1478 spin_lock_init(&p->lock);
1473 1479
1474 skb_queue_head_init(&p->tx_list); 1480 skb_queue_head_init(&p->tx_list);
diff --git a/drivers/net/ethernet/freescale/fman/Kconfig b/drivers/net/ethernet/freescale/fman/Kconfig
index 79b7c84b7869..dc0850b3b517 100644
--- a/drivers/net/ethernet/freescale/fman/Kconfig
+++ b/drivers/net/ethernet/freescale/fman/Kconfig
@@ -1,6 +1,6 @@
1config FSL_FMAN 1config FSL_FMAN
2 tristate "FMan support" 2 tristate "FMan support"
3 depends on FSL_SOC || COMPILE_TEST 3 depends on FSL_SOC || ARCH_LAYERSCAPE || COMPILE_TEST
4 select GENERIC_ALLOCATOR 4 select GENERIC_ALLOCATOR
5 select PHYLIB 5 select PHYLIB
6 default n 6 default n
diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c
index dafd9e1baba2..f60845f0c6ca 100644
--- a/drivers/net/ethernet/freescale/fman/fman.c
+++ b/drivers/net/ethernet/freescale/fman/fman.c
@@ -1890,6 +1890,7 @@ static int fman_reset(struct fman *fman)
1890 1890
1891 goto _return; 1891 goto _return;
1892 } else { 1892 } else {
1893#ifdef CONFIG_PPC
1893 struct d