Skip to content

Commit 9410645

Browse files
committed
Merge tag 'net-next-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
Pull networking updates from Jakub Kicinski: "The zero-copy changes are relatively significant, but regression risk should be contained. The feature needs to be used to cause trouble. Also it feels like we got an order of magnitude more semi-automated "refactoring" chaff than usual, I wonder if it's just us. Core & protocols: - Support Device Memory TCP, ability to zero-copy receive TCP payloads to a DMABUF region of memory while packet headers land separately in normal kernel buffers, and TCP processes then as usual. - The ability to read the PTP PHC (Physical Hardware Clock) alongside MONOTONIC_RAW timestamps with PTP_SYS_OFFSET_EXTENDED. Previously only CLOCK_REALTIME was supported. - Allow matching on all bits of IP DSCP for routing decisions. Previously we only supported on matching TOS bits in IPv4 which is a narrower interpretation of the same header field. - Increase the range of weights used for multi-path routing from 8 bits to 16 bits. - Add support for IPv6 PIO p flag in the Prefix Information Option per draft-ietf-6man-pio-pflag. - IPv6 IOAM6 support for new tunsrc encap mode for better performance. - Detect destinations which blackhole MPTCP traffic and avoid initiating MPTCP connections to them for a certain period of time, 1h by default. - Improve IPsec control path performance by removing the inexact policies list. - AF_VSOCK: add support for SIOCOUTQ ioctl. - Add enum for reasons TCP reset was sent for easier tracing. - Add SMC ringbufs usage statistics. Drivers: - Handle netconsole setup failures more gracefully, don't fail loading, retain the specified target as disabled. - Extend bonding's IPsec offload pass thru capabilities (ESN, stats). Filtering: - Add TCP_BPF_SOCK_OPS_CB_FLAGS to bpf_*sockopt() to address the case when long-lived sockets miss a chance to set additional callbacks if a sockops program was not attached early in their lifetime. - Support using BPF skb helpers in tracepoints. - Conntrack Netlink: support CTA_FILTER for flush. - Improve SCTP support in nfnetlink_queue. - Improve performance of large nftables flush transactions. Things we sprinkled into general kernel code: - selftests: support setting an "interpreter" for script files; make it easy to run as separate cases tests where one "interpreter" is fed various test descriptions (in our case packet sequences). Driver API: - Extend core and ethtool APIs to support many PHYs connected to a single interface (PHY topologies). - Extend cable diagnostics to specify whether Time Domain Reflectometry (TDR) or Active Link Cable Diagnostic (ALCD) was used. - Add library for implementing MAC-PHY Ethernet drivers for SPI devices compatible with Open Alliance 10BASE-T1x MAC-PHY Serial Interface (TC6) standard. - Add helpers to the PHY framework, for PHYs following the Open Alliance standards: - 1000BaseT1 link settings - cable test and diagnostics - Support listing / dumping all allocated RSS contexts. - Add configuration for frequency Embedded SYNC in DPLL, which magically embeds sync pulses into Ethernet signaling. Device drivers: - Ethernet high-speed NICs: - Broadcom (bnxt): - use better FW APIs for queue reset - support QOS and TPID settings for the SR-IOV VLAN - support dynamic MSI-X allocation - Intel (100G, ice, idpf): - ice: support PCIe subfunctions - iavf: add support for TC U32 filters on VFs - ice: support Embedded SYNC in DPLL - nVidia/Mellanox (mlx5): - support HW managed steering tables - support PCIe PTM cross timestamping - AMD/Pensando: - ionic: use page_pool to increase Rx performance - Cisco (enic): - report per-queue statistics - Ethernet virtual: - Microsoft vNIC: - mana: support configuring ring length - netvsc: enable more channels on systems with many CPUs - IBM veth: - optimize polling to improve TCP_RR performance - optimize performance of Tx handling - VirtIO net: - synchronize the operstate with the admin state to allow a lower virtio-net to propagate the link status to an upper device like macvlan - Ethernet NICs consumer, and embedded: - Add driver for Realtek automotive PCIe devices (RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071) - Add driver for Microchip LAN8650/1 10BASE-T1S MAC-PHY. - Microchip: - lan743x: use phylink - support WOL, EEE, pause, link settings - add Wake-on-LAN support for KSZ87xx family - add KSZ8895/KSZ8864 switch support - factor out FDMA code and use it in sparx5 and lan966x (including DCB support in both) - Synopsys (stmmac): - support frame preemption (configured using TC and ethtool) - support Loongson DWMAC (GMAC v3.73) - support RockChips RK3576 DWMAC - TI: - am65-cpsw: add multi queue RX support - icssg-prueth: HSR offload support - Cadence (macb): - enable software (hrtimer based) IRQ coalescing by default - Xilinx (axinet): - expose HW statistics - improve multicast filtering - relax Rx checksum offload constraints - MediaTek: - mt7530: add EN7581 support - Aspeed (ftgmac100): - report link speed and duplex - Intel: - igc: add mqprio offload - igc: report EEE configuration - RealTek (r8169): - add support for RTL8126A rev.b - Vitesse (vsc73xx): - implement FDB add/del/dump operations - Freescale (fs_enet): - use phylink - Ethernet PHYs: - vitesse: implement downshift and MDI-X in vsc73xx PHYs - microchip: support LAN887x, supporting IEEE 802.3bw (100BASE-T1) and IEEE 802.3bp (1000BASE-T1) specifications - add Applied Micro QT2025 PHY driver (in Rust) - add Motorcomm yt8821 2.5G Ethernet PHY driver - CAN: - add driver for Rockchip RK3568 CAN-FD controller - flexcan: add wakeup support for imx95 - kvaser_usb: set hardware timestamp on transmitted packets - WiFi: - mac80211/cfg80211: - EHT rate support in AQL airtime fairness - handle DFS (radar detection) per link in Multi-Link Operation - RealTek (rtw89): - support RTL8852BT and 8852BE-VT (WiFi 6) - support hardware rfkill - support HW encryption in unicast management frames - support Wake-on-WLAN with supported network detection - RealTek (rtw89): - improve Rx performance by using USB frame aggregation - support USB 3 with RTL8822CU/RTL8822BU - Intel (iwlwifi/mvm): - offload RLC/SMPS functionality to firmware - Marvell (mwifiex): - add host based MLME to enable WPA3 - Bluetooth: - add support for Amlogic HCI UART protocol - add support for ISO data/packets to Intel and NXP drivers" * tag 'net-next-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1303 commits) net/mlx5: HWS, check the correct variable in hws_send_ring_alloc_sq() netfilter: nft_socket: Fix a NULL vs IS_ERR() bug in nft_socket_cgroup_subtree_level() ice: Fix a NULL vs IS_ERR() check in probe() ice: Fix a couple NULL vs IS_ERR() bugs net: ethernet: fs_enet: Make the per clock optional net: ti: icssg-prueth: Add multicast filtering support in HSR mode net: ti: icssg-prueth: Enable HSR Tx duplication, Tx Tag and Rx Tag offload net: ti: icssg-prueth: Add support for HSR frame forward offload net: ti: icssg-prueth: Stop hardcoding def_inc net: ti: icss-iep: Move icss_iep structure net: ibm: emac: get rid of wol_irq net: ibm: emac: remove all waiting code net: ibm: emac: replace of_get_property net: ibm: emac: use netdev's phydev directly net: ibm: emac: use devm for register_netdev net: ibm: emac: remove mii_bus with devm net: ibm: emac: use devm for of_iomap net: ibm: emac: manage emac_irq with devm net: ibm: emac: use devm for alloc_etherdev octeontx2-af: debugfs: Add Channel info to RPM map ...
2 parents 98f7e32 + 3561373 commit 9410645

File tree

1,458 files changed

+69936
-13760
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,458 files changed

+69936
-13760
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
*.dwo
2525
*.elf
2626
*.gcno
27+
*.gcda
2728
*.gz
2829
*.i
2930
*.ko

Documentation/dev-tools/gcov.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,17 @@ Only files which are linked to the main kernel image or are compiled as
7575
kernel modules are supported by this mechanism.
7676

7777

78+
Module specific configs
79+
-----------------------
80+
81+
Gcov kernel configs for specific modules are described below:
82+
83+
CONFIG_GCOV_PROFILE_RDS:
84+
Enables GCOV profiling on RDS for checking which functions or
85+
lines are executed. This config is used by the rds selftest to
86+
generate coverage reports. If left unset the report is omitted.
87+
88+
7889
Files
7990
-----
8091

Documentation/devicetree/bindings/net/amlogic,meson-dwmac.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,18 @@ allOf:
5858
- const: timing-adjustment
5959

6060
amlogic,tx-delay-ns:
61-
$ref: /schemas/types.yaml#/definitions/uint32
61+
enum: [0, 2, 4, 6]
62+
default: 2
6263
description:
63-
The internal RGMII TX clock delay (provided by this driver) in
64-
nanoseconds. Allowed values are 0ns, 2ns, 4ns, 6ns.
65-
When phy-mode is set to "rgmii" then the TX delay should be
66-
explicitly configured. When not configured a fallback of 2ns is
67-
used. When the phy-mode is set to either "rgmii-id" or "rgmii-txid"
68-
the TX clock delay is already provided by the PHY. In that case
69-
this property should be set to 0ns (which disables the TX clock
70-
delay in the MAC to prevent the clock from going off because both
71-
PHY and MAC are adding a delay).
72-
Any configuration is ignored when the phy-mode is set to "rmii".
64+
The internal RGMII TX clock delay (provided by this driver)
65+
in nanoseconds. When phy-mode is set to "rgmii" then the TX
66+
delay should be explicitly configured. When the phy-mode is
67+
set to either "rgmii-id" or "rgmii-txid" the TX clock delay
68+
is already provided by the PHY. In that case this property
69+
should be set to 0ns (which disables the TX clock delay in
70+
the MAC to prevent the clock from going off because both
71+
PHY and MAC are adding a delay). Any configuration is
72+
ignored when the phy-mode is set to "rmii".
7373

7474
amlogic,rx-delay-ns:
7575
deprecated: true
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2024 Amlogic, Inc. All rights reserved
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/net/bluetooth/amlogic,w155s2-bt.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Amlogic Bluetooth chips
9+
10+
description:
11+
The W155S2 is an Amlogic Bluetooth and Wi-Fi combo chip. It works on
12+
the standard H4 protocol via a 4-wire UART interface, with baud rates
13+
up to 4 Mbps.
14+
15+
maintainers:
16+
- Yang Li <[email protected]>
17+
18+
properties:
19+
compatible:
20+
oneOf:
21+
- items:
22+
- enum:
23+
- amlogic,w265s1-bt
24+
- amlogic,w265p1-bt
25+
- const: amlogic,w155s2-bt
26+
- enum:
27+
- amlogic,w155s2-bt
28+
- amlogic,w265s2-bt
29+
30+
clocks:
31+
maxItems: 1
32+
description: clock provided to the controller (32.768KHz)
33+
34+
enable-gpios:
35+
maxItems: 1
36+
37+
vddio-supply:
38+
description: VDD_IO supply regulator handle
39+
40+
firmware-name:
41+
maxItems: 1
42+
description: specify the path of firmware bin to load
43+
44+
required:
45+
- compatible
46+
- clocks
47+
- enable-gpios
48+
- vddio-supply
49+
- firmware-name
50+
51+
additionalProperties: false
52+
53+
examples:
54+
- |
55+
#include <dt-bindings/gpio/gpio.h>
56+
bluetooth {
57+
compatible = "amlogic,w155s2-bt";
58+
clocks = <&extclk>;
59+
enable-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
60+
vddio-supply = <&wcn_3v3>;
61+
firmware-name = "amlogic/aml_w155s2_bt_uart.bin";
62+
};
63+

Documentation/devicetree/bindings/net/bluetooth/qualcomm-bluetooth.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,14 +172,14 @@ allOf:
172172
- qcom,wcn6855-bt
173173
then:
174174
required:
175-
- enable-gpios
176-
- swctrl-gpios
177-
- vddio-supply
178-
- vddbtcxmx-supply
179175
- vddrfacmn-supply
176+
- vddaon-supply
177+
- vddwlcx-supply
178+
- vddwlmx-supply
179+
- vddbtcmx-supply
180180
- vddrfa0p8-supply
181181
- vddrfa1p2-supply
182-
- vddrfa1p7-supply
182+
- vddrfa1p8-supply
183183
- if:
184184
properties:
185185
compatible:

Documentation/devicetree/bindings/net/can/fsl,flexcan.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ properties:
1717
compatible:
1818
oneOf:
1919
- enum:
20+
- fsl,imx95-flexcan
2021
- fsl,imx93-flexcan
2122
- fsl,imx8qm-flexcan
2223
- fsl,imx8mp-flexcan
@@ -38,9 +39,6 @@ properties:
3839
- fsl,imx6ul-flexcan
3940
- fsl,imx6sx-flexcan
4041
- const: fsl,imx6q-flexcan
41-
- items:
42-
- const: fsl,imx95-flexcan
43-
- const: fsl,imx93-flexcan
4442
- items:
4543
- enum:
4644
- fsl,ls1028ar1-flexcan
@@ -80,6 +78,10 @@ properties:
8078
node then controller is assumed to be little endian. If this property is
8179
present then controller is assumed to be big endian.
8280
81+
can-transceiver:
82+
$ref: can-transceiver.yaml#
83+
unevaluatedProperties: false
84+
8385
fsl,stop-mode:
8486
description: |
8587
Register bits of stop mode control.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/can/microchip,mcp2510.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip MCP251X stand-alone CAN controller
8+
9+
maintainers:
10+
- Marc Kleine-Budde <[email protected]>
11+
12+
properties:
13+
compatible:
14+
enum:
15+
- microchip,mcp2510
16+
- microchip,mcp2515
17+
- microchip,mcp25625
18+
19+
reg:
20+
maxItems: 1
21+
22+
clocks:
23+
maxItems: 1
24+
25+
interrupts:
26+
maxItems: 1
27+
28+
vdd-supply:
29+
description: Regulator that powers the CAN controller.
30+
31+
xceiver-supply:
32+
description: Regulator that powers the CAN transceiver.
33+
34+
gpio-controller: true
35+
36+
"#gpio-cells":
37+
const: 2
38+
39+
required:
40+
- compatible
41+
- reg
42+
- clocks
43+
- interrupts
44+
45+
allOf:
46+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
47+
48+
unevaluatedProperties: false
49+
50+
examples:
51+
- |
52+
#include <dt-bindings/interrupt-controller/irq.h>
53+
54+
spi {
55+
#address-cells = <1>;
56+
#size-cells = <0>;
57+
58+
can@1 {
59+
compatible = "microchip,mcp2515";
60+
reg = <1>;
61+
clocks = <&clk24m>;
62+
interrupt-parent = <&gpio4>;
63+
interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
64+
vdd-supply = <&reg5v0>;
65+
xceiver-supply = <&reg5v0>;
66+
gpio-controller;
67+
#gpio-cells = <2>;
68+
};
69+
};
70+

Documentation/devicetree/bindings/net/can/microchip,mcp251x.txt

Lines changed: 0 additions & 30 deletions
This file was deleted.

Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ properties:
3232
- enum:
3333
- renesas,r8a779a0-canfd # R-Car V3U
3434
- renesas,r8a779g0-canfd # R-Car V4H
35+
- renesas,r8a779h0-canfd # R-Car V4M
3536
- const: renesas,rcar-gen4-canfd # R-Car Gen4
3637

3738
- items:
@@ -163,14 +164,23 @@ allOf:
163164
maxItems: 1
164165

165166
- if:
166-
not:
167-
properties:
168-
compatible:
169-
contains:
170-
const: renesas,rcar-gen4-canfd
167+
properties:
168+
compatible:
169+
contains:
170+
const: renesas,r8a779h0-canfd
171171
then:
172172
patternProperties:
173-
"^channel[2-7]$": false
173+
"^channel[5-7]$": false
174+
else:
175+
if:
176+
not:
177+
properties:
178+
compatible:
179+
contains:
180+
const: renesas,rcar-gen4-canfd
181+
then:
182+
patternProperties:
183+
"^channel[2-7]$": false
174184

175185
unevaluatedProperties: false
176186

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/net/can/rockchip,rk3568v2-canfd.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title:
8+
Rockchip CAN-FD controller
9+
10+
maintainers:
11+
- Marc Kleine-Budde <[email protected]>
12+
13+
allOf:
14+
- $ref: can-controller.yaml#
15+
16+
properties:
17+
compatible:
18+
oneOf:
19+
- const: rockchip,rk3568v2-canfd
20+
- items:
21+
- const: rockchip,rk3568v3-canfd
22+
- const: rockchip,rk3568v2-canfd
23+
24+
reg:
25+
maxItems: 1
26+
27+
interrupts:
28+
maxItems: 1
29+
30+
clocks:
31+
maxItems: 2
32+
33+
clock-names:
34+
items:
35+
- const: baud
36+
- const: pclk
37+
38+
resets:
39+
maxItems: 2
40+
41+
reset-names:
42+
items:
43+
- const: core
44+
- const: apb
45+
46+
required:
47+
- compatible
48+
- reg
49+
- interrupts
50+
- clocks
51+
- resets
52+
53+
additionalProperties: false
54+
55+
examples:
56+
- |
57+
#include <dt-bindings/clock/rk3568-cru.h>
58+
#include <dt-bindings/interrupt-controller/arm-gic.h>
59+
#include <dt-bindings/interrupt-controller/irq.h>
60+
61+
soc {
62+
#address-cells = <2>;
63+
#size-cells = <2>;
64+
65+
can@fe570000 {
66+
compatible = "rockchip,rk3568v2-canfd";
67+
reg = <0x0 0xfe570000 0x0 0x1000>;
68+
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
69+
clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>;
70+
clock-names = "baud", "pclk";
71+
resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>;
72+
reset-names = "core", "apb";
73+
};
74+
};

0 commit comments

Comments
 (0)