Commit bd2463ac authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking updates from David Miller:

 1) Add WireGuard

 2) Add HE and TWT support to ath11k driver, from John Crispin.

 3) Add ESP in TCP encapsulation support, from Sabrina Dubroca.

 4) Add variable window congestion control to TIPC, from Jon Maloy.

 5) Add BCM84881 PHY driver, from Russell King.

 6) Start adding netlink support for ethtool operations, from Michal
    Kubecek.

 7) Add XDP drop and TX action support to ena driver, from Sameeh
    Jubran.

 8) Add new ipv4 route notifications so that mlxsw driver does not have
    to handle identical routes itself. From Ido Schimmel.

 9) Add BPF dynamic program extensions, from Alexei Starovoitov.

10) Support RX and TX timestamping in igc, from Vinicius Costa Gomes.

11) Add support for macsec HW offloading, from Antoine Tenart.

12) Add initial support for MPTCP protocol, from Christoph Paasch,
    Matthieu Baerts, Florian Westphal, Peter Krystad, and many others.

13) Add Octeontx2 PF support, from Sunil Goutham, Geetha sowjanya, Linu
    Cherian, and others.

* git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1469 commits)
  net: phy: add default ARCH_BCM_IPROC for MDIO_BCM_IPROC
  udp: segment looped gso packets correctly
  netem: change mailing list
  qed: FW 8.42.2.0 debug features
  qed: rt init valid initialization changed
  qed: Debug feature: ilt and mdump
  qed: FW 8.42.2.0 Add fw overlay feature
  qed: FW 8.42.2.0 HSI changes
  qed: FW 8.42.2.0 iscsi/fcoe changes
  qed: Add abstraction for different hsi values per chip
  qed: FW 8.42.2.0 Additional ll2 type
  qed: Use dmae to write to widebus registers in fw_funcs
  qed: FW 8.42.2.0 Parser offsets modified
  qed: FW 8.42.2.0 Queue Manager changes
  qed: FW 8.42.2.0 Expose new registers and change windows
  qed: FW 8.42.2.0 Internal ram offsets modifications
  MAINTAINERS: Add entry for Marvell OcteonTX2 Physical Function driver
  Documentation: net: octeontx2: Add RVU HW and drivers overview
  octeontx2-pf: ethtool RSS config support
  octeontx2-pf: Add basic ethtool support
  ...
parents a78208e2 f76e4c16
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line
What:          /sys/bus/mdio_bus/devices/.../statistics/
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		This folder contains statistics about global and per
		MDIO bus address statistics.

What:          /sys/bus/mdio_bus/devices/.../statistics/transfers
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of transfers for this MDIO bus.

What:          /sys/bus/mdio_bus/devices/.../statistics/errors
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of transfer errors for this MDIO bus.

What:          /sys/bus/mdio_bus/devices/.../statistics/writes
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of write transactions for this MDIO bus.

What:          /sys/bus/mdio_bus/devices/.../statistics/reads
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of read transactions for this MDIO bus.

What:          /sys/bus/mdio_bus/devices/.../statistics/transfers_<addr>
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of transfers for this MDIO bus address.

What:          /sys/bus/mdio_bus/devices/.../statistics/errors_<addr>
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of transfer errors for this MDIO bus address.

What:          /sys/bus/mdio_bus/devices/.../statistics/writes_<addr>
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of write transactions for this MDIO bus address.

What:          /sys/bus/mdio_bus/devices/.../statistics/reads_<addr>
Date:          January 2020
KernelVersion: 5.6
Contact:       netdev@vger.kernel.org
Description:
		Total number of read transactions for this MDIO bus address.
+13 −2
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ Required properties:

 - compatible: should contain one of the following:
   * "brcm,bcm20702a1"
   * "brcm,bcm4329-bt"
   * "brcm,bcm4330-bt"
   * "brcm,bcm43438-bt"
   * "brcm,bcm4345c5"
@@ -22,7 +23,9 @@ Optional properties:
 - max-speed: see Documentation/devicetree/bindings/serial/slave-device.txt
 - shutdown-gpios: GPIO specifier, used to enable the BT module
 - device-wakeup-gpios: GPIO specifier, used to wakeup the controller
 - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor
 - host-wakeup-gpios: GPIO specifier, used to wakeup the host processor.
                      deprecated, replaced by interrupts and
                      "host-wakeup" interrupt-names
 - clocks: 1 or 2 clocks as defined in clock-names below, in that order
 - clock-names: names for clock inputs, matching the clocks given
   - "extclk": deprecated, replaced by "txco"
@@ -30,7 +33,14 @@ Optional properties:
   - "lpo": external low power 32.768 kHz clock
 - vbat-supply: phandle to regulator supply for VBAT
 - vddio-supply: phandle to regulator supply for VDDIO

 - brcm,bt-pcm-int-params: configure PCM parameters via a 5-byte array
    - sco-routing: 0 = PCM, 1 = Transport, 2 = Codec, 3 = I2S
    - pcm-interface-rate: 128KBps, 256KBps, 512KBps, 1024KBps, 2048KBps
    - pcm-frame-type: short, long
    - pcm-sync-mode: slave, master
    - pcm-clock-mode: slave, master
 - interrupts: must be one, used to wakeup the host processor
 - interrupt-names: must be "host-wakeup"

Example:

@@ -41,5 +51,6 @@ Example:
       bluetooth {
               compatible = "brcm,bcm43438-bt";
               max-speed = <921600>;
               brcm,bt-pcm-int-params = [01 02 00 01 01];
       };
};
+148 −0
Original line number Diff line number Diff line
Atheros AR9331 built-in switch
=============================

It is a switch built-in to Atheros AR9331 WiSoC and addressable over internal
MDIO bus. All PHYs are built-in as well.

Required properties:

 - compatible: should be: "qca,ar9331-switch"
 - reg: Address on the MII bus for the switch.
 - resets : Must contain an entry for each entry in reset-names.
 - reset-names : Must include the following entries: "switch"
 - interrupt-parent: Phandle to the parent interrupt controller
 - interrupts: IRQ line for the switch
 - interrupt-controller: Indicates the switch is itself an interrupt
   controller. This is used for the PHY interrupts.
 - #interrupt-cells: must be 1
 - mdio: Container of PHY and devices on the switches MDIO bus.

See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
required and optional properties.
Examples:

eth0: ethernet@19000000 {
	compatible = "qca,ar9330-eth";
	reg = <0x19000000 0x200>;
	interrupts = <4>;

	resets = <&rst 9>, <&rst 22>;
	reset-names = "mac", "mdio";
	clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>;
	clock-names = "eth", "mdio";

	phy-mode = "mii";
	phy-handle = <&phy_port4>;
};

eth1: ethernet@1a000000 {
	compatible = "qca,ar9330-eth";
	reg = <0x1a000000 0x200>;
	interrupts = <5>;
	resets = <&rst 13>, <&rst 23>;
	reset-names = "mac", "mdio";
	clocks = <&pll ATH79_CLK_AHB>, <&pll ATH79_CLK_AHB>;
	clock-names = "eth", "mdio";

	phy-mode = "gmii";

	fixed-link {
		speed = <1000>;
		full-duplex;
	};

	mdio {
		#address-cells = <1>;
		#size-cells = <0>;

		switch10: switch@10 {
			#address-cells = <1>;
			#size-cells = <0>;

			compatible = "qca,ar9331-switch";
			reg = <0x10>;
			resets = <&rst 8>;
			reset-names = "switch";

			interrupt-parent = <&miscintc>;
			interrupts = <12>;

			interrupt-controller;
			#interrupt-cells = <1>;

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				switch_port0: port@0 {
					reg = <0x0>;
					label = "cpu";
					ethernet = <&eth1>;

					phy-mode = "gmii";

					fixed-link {
						speed = <1000>;
						full-duplex;
					};
				};

				switch_port1: port@1 {
					reg = <0x1>;
					phy-handle = <&phy_port0>;
					phy-mode = "internal";
				};

				switch_port2: port@2 {
					reg = <0x2>;
					phy-handle = <&phy_port1>;
					phy-mode = "internal";
				};

				switch_port3: port@3 {
					reg = <0x3>;
					phy-handle = <&phy_port2>;
					phy-mode = "internal";
				};

				switch_port4: port@4 {
					reg = <0x4>;
					phy-handle = <&phy_port3>;
					phy-mode = "internal";
				};
			};

			mdio {
				#address-cells = <1>;
				#size-cells = <0>;

				interrupt-parent = <&switch10>;

				phy_port0: phy@0 {
					reg = <0x0>;
					interrupts = <0>;
				};

				phy_port1: phy@1 {
					reg = <0x1>;
					interrupts = <0>;
				};

				phy_port2: phy@2 {
					reg = <0x2>;
					interrupts = <0>;
				};

				phy_port3: phy@3 {
					reg = <0x3>;
					interrupts = <0>;
				};

				phy_port4: phy@4 {
					reg = <0x4>;
					interrupts = <0>;
				};
			};
		};
	};
};
+23 −10
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ Required properties:
	Should be "macirq" for the main MAC IRQ
- clocks: Must contain a phandle for each entry in clock-names.
- clock-names: The name of the clock listed in the clocks property. These are
	"axi", "apb", "mac_main", "ptp_ref" for MT2712 SoC
	"axi", "apb", "mac_main", "ptp_ref", "rmii_internal" for MT2712 SoC.
- mac-address: See ethernet.txt in the same directory
- phy-mode: See ethernet.txt in the same directory
- mediatek,pericfg: A phandle to the syscon node that control ethernet
@@ -23,8 +23,10 @@ Required properties:
Optional properties:
- mediatek,tx-delay-ps: TX clock delay macro value. Default is 0.
	It should be defined for RGMII/MII interface.
	It should be defined for RMII interface when the reference clock is from MT2712 SoC.
- mediatek,rx-delay-ps: RX clock delay macro value. Default is 0.
	It should be defined for RGMII/MII/RMII interface.
	It should be defined for RGMII/MII interface.
	It should be defined for RMII interface.
Both delay properties need to be a multiple of 170 for RGMII interface,
or will round down. Range 0~31*170.
Both delay properties need to be a multiple of 550 for MII/RMII interface,
@@ -34,13 +36,20 @@ or will round down. Range 0~31*550.
	reference clock, which is from external PHYs, is connected to RXC pin
	on MT2712 SoC.
	Otherwise, is connected to TXC pin.
- mediatek,rmii-clk-from-mac: boolean property, if present indicates that
	MT2712 SoC provides the RMII reference clock, which outputs to TXC pin only.
- mediatek,txc-inverse: boolean property, if present indicates that
	1. tx clock will be inversed in MII/RGMII case,
	2. tx clock inside MAC will be inversed relative to reference clock
	   which is from external PHYs in RMII case, and it rarely happen.
	3. the reference clock, which outputs to TXC pin will be inversed in RMII case
	   when the reference clock is from MT2712 SoC.
- mediatek,rxc-inverse: boolean property, if present indicates that
	1. rx clock will be inversed in MII/RGMII case.
	2. reference clock will be inversed when arrived at MAC in RMII case.
	2. reference clock will be inversed when arrived at MAC in RMII case, when
	   the reference clock is from external PHYs.
	3. the inside clock, which be sent to MAC, will be inversed in RMII case when
	   the reference clock is from MT2712 SoC.
- assigned-clocks: mac_main and ptp_ref clocks
- assigned-clock-parents: parent clocks of the assigned clocks

@@ -50,29 +59,33 @@ Example:
		reg = <0 0x1101c000 0 0x1300>;
		interrupts = <GIC_SPI 237 IRQ_TYPE_LEVEL_LOW>;
		interrupt-names = "macirq";
		phy-mode ="rgmii";
		phy-mode ="rgmii-rxid";
		mac-address = [00 55 7b b5 7d f7];
		clock-names = "axi",
			      "apb",
			      "mac_main",
			      "ptp_ref",
			      "ptp_top";
			      "rmii_internal";
		clocks = <&pericfg CLK_PERI_GMAC>,
			 <&pericfg CLK_PERI_GMAC_PCLK>,
			 <&topckgen CLK_TOP_ETHER_125M_SEL>,
			 <&topckgen CLK_TOP_ETHER_50M_SEL>;
			 <&topckgen CLK_TOP_ETHER_50M_SEL>,
			 <&topckgen CLK_TOP_ETHER_50M_RMII_SEL>;
		assigned-clocks = <&topckgen CLK_TOP_ETHER_125M_SEL>,
				  <&topckgen CLK_TOP_ETHER_50M_SEL>;
				  <&topckgen CLK_TOP_ETHER_50M_SEL>,
				  <&topckgen CLK_TOP_ETHER_50M_RMII_SEL>;
		assigned-clock-parents = <&topckgen CLK_TOP_ETHERPLL_125M>,
					 <&topckgen CLK_TOP_APLL1_D3>;
					 <&topckgen CLK_TOP_APLL1_D3>,
					 <&topckgen CLK_TOP_ETHERPLL_50M>;
		power-domains = <&scpsys MT2712_POWER_DOMAIN_AUDIO>;
		mediatek,pericfg = <&pericfg>;
		mediatek,tx-delay-ps = <1530>;
		mediatek,rx-delay-ps = <1530>;
		mediatek,rmii-rxc;
		mediatek,txc-inverse;
		mediatek,rxc-inverse;
		snps,txpbl = <32>;
		snps,rxpbl = <32>;
		snps,txpbl = <1>;
		snps,rxpbl = <1>;
		snps,reset-gpio = <&pio 87 GPIO_ACTIVE_LOW>;
		snps,reset-active-low;
	};
+9 −3
Original line number Diff line number Diff line
@@ -8,8 +8,6 @@ Required properties:
	- ti,tx-internal-delay - RGMII Transmit Clock Delay - see dt-bindings/net/ti-dp83867.h
		for applicable values. Required only if interface type is
		PHY_INTERFACE_MODE_RGMII_ID or PHY_INTERFACE_MODE_RGMII_TXID
	- ti,fifo-depth - Transmitt FIFO depth- see dt-bindings/net/ti-dp83867.h
		for applicable values

Note: If the interface type is PHY_INTERFACE_MODE_RGMII the TX/RX clock delays
      will be left at their default values, as set by the PHY's pin strapping.
@@ -42,6 +40,14 @@ Optional property:
				    Some MACs work with differential SGMII clock.
				    See data manual for details.

	- ti,fifo-depth - Transmitt FIFO depth- see dt-bindings/net/ti-dp83867.h
		for applicable values (deprecated)

	-tx-fifo-depth - As defined in the ethernet-controller.yaml.  Values for
			 the depth can be found in dt-bindings/net/ti-dp83867.h
	-rx-fifo-depth - As defined in the ethernet-controller.yaml.  Values for
			 the depth can be found in dt-bindings/net/ti-dp83867.h

Note: ti,min-output-impedance and ti,max-output-impedance are mutually
      exclusive. When both properties are present ti,max-output-impedance
      takes precedence.
@@ -55,7 +61,7 @@ Example:
		reg = <0>;
		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>;
		ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_75_NS>;
		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
		tx-fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
	};

Datasheet can be found:
Loading