diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-20 18:48:34 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-20 18:48:34 -0500 |
| commit | ba6d973f78eb62ffebb32f6ef3334fc9a3b33d22 (patch) | |
| tree | 81b4e19de7308ce46ac7d0f670302906a906f0d0 | |
| parent | 3eb86259eca6a363ed7bb13ecea5cda809f7b97d (diff) | |
| parent | a763f78cea845c91b8d91f93dabf70c407635dc5 (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
...
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 | ||
| 3 | Required properties: | 3 | Required 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 | ||
| 36 | Example: | 39 | Example: |
| 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 | ||
| 44 | Example: | 50 | Example: |
| 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" | |||
| 166 | source "drivers/net/ethernet/silan/Kconfig" | 166 | source "drivers/net/ethernet/silan/Kconfig" |
| 167 | source "drivers/net/ethernet/sis/Kconfig" | 167 | source "drivers/net/ethernet/sis/Kconfig" |
| 168 | source "drivers/net/ethernet/sfc/Kconfig" | 168 | source "drivers/net/ethernet/sfc/Kconfig" |
| 169 | source "drivers/net/ethernet/sfc/falcon/Kconfig" | ||
| 170 | source "drivers/net/ethernet/sgi/Kconfig" | 169 | source "drivers/net/ethernet/sgi/Kconfig" |
| 171 | source "drivers/net/ethernet/smsc/Kconfig" | 170 | source "drivers/net/ethernet/smsc/Kconfig" |
| 172 | source "drivers/net/ethernet/stmicro/Kconfig" | 171 | source "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 @@ | |||
| 1 | config FSL_FMAN | 1 | config 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 | ||
