Skip to content

Commit a6cbfa1

Browse files
committed
Merge branch 'next' into for-linus
Prepare input updates for 4.14 merge window.
2 parents f5308d1 + 08d6ac9 commit a6cbfa1

File tree

1,243 files changed

+11696
-7080
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,243 files changed

+11696
-7080
lines changed

Documentation/admin-guide/kernel-parameters.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -866,6 +866,15 @@
866866

867867
dscc4.setup= [NET]
868868

869+
dt_cpu_ftrs= [PPC]
870+
Format: {"off" | "known"}
871+
Control how the dt_cpu_ftrs device-tree binding is
872+
used for CPU feature discovery and setup (if it
873+
exists).
874+
off: Do not use it, fall back to legacy cpu table.
875+
known: Do not pass through unknown features to guests
876+
or userspace, only those that the kernel is aware of.
877+
869878
dump_apple_properties [X86]
870879
Dump name and content of EFI device properties on
871880
x86 Macs. Useful for driver authors to determine
@@ -3802,6 +3811,13 @@
38023811
expediting. Set to zero to disable automatic
38033812
expediting.
38043813

3814+
stack_guard_gap= [MM]
3815+
override the default stack gap protection. The value
3816+
is in page units and it defines how many pages prior
3817+
to (for stacks growing down) resp. after (for stacks
3818+
growing up) the main stack are reserved for no other
3819+
mapping. Default value is 256 pages.
3820+
38053821
stacktrace [FTRACE]
38063822
Enabled the stack tracer on boot up.
38073823

Documentation/devicetree/bindings/clock/sunxi-ccu.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ Required properties :
2222
- #clock-cells : must contain 1
2323
- #reset-cells : must contain 1
2424

25-
For the PRCM CCUs on H3/A64, one more clock is needed:
25+
For the PRCM CCUs on H3/A64, two more clocks are needed:
26+
- "pll-periph": the SoC's peripheral PLL from the main CCU
2627
- "iosc": the SoC's internal frequency oscillator
2728

2829
Example for generic CCU:
@@ -39,8 +40,8 @@ Example for PRCM CCU:
3940
r_ccu: clock@01f01400 {
4041
compatible = "allwinner,sun50i-a64-r-ccu";
4142
reg = <0x01f01400 0x100>;
42-
clocks = <&osc24M>, <&osc32k>, <&iosc>;
43-
clock-names = "hosc", "losc", "iosc";
43+
clocks = <&osc24M>, <&osc32k>, <&iosc>, <&ccu CLK_PLL_PERIPH0>;
44+
clock-names = "hosc", "losc", "iosc", "pll-periph";
4445
#clock-cells = <1>;
4546
#reset-cells = <1>;
4647
};

Documentation/devicetree/bindings/gpio/gpio-mvebu.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ Required properties:
4141
Optional properties:
4242

4343
In order to use the GPIO lines in PWM mode, some additional optional
44-
properties are required. Only Armada 370 and XP support these properties.
44+
properties are required.
4545

46-
- compatible: Must contain "marvell,armada-370-xp-gpio"
46+
- compatible: Must contain "marvell,armada-370-gpio"
4747

4848
- reg: an additional register set is needed, for the GPIO Blink
4949
Counter on/off registers.
@@ -71,7 +71,7 @@ Example:
7171
};
7272

7373
gpio1: gpio@18140 {
74-
compatible = "marvell,armada-370-xp-gpio";
74+
compatible = "marvell,armada-370-gpio";
7575
reg = <0x18140 0x40>, <0x181c8 0x08>;
7676
reg-names = "gpio", "pwm";
7777
ngpios = <17>;

Documentation/devicetree/bindings/input/atmel,maxtouch.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ Optional properties for main touchpad device:
2222
experiment to determine which bit corresponds to which input. Use
2323
KEY_RESERVED for unused padding values.
2424

25+
- reset-gpios: GPIO specifier for the touchscreen's reset pin (active low)
26+
2527
Example:
2628

2729
touch@4b {

Documentation/devicetree/bindings/mfd/stm32-timers.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Example:
3131
compatible = "st,stm32-timers";
3232
reg = <0x40010000 0x400>;
3333
clocks = <&rcc 0 160>;
34-
clock-names = "clk_int";
34+
clock-names = "int";
3535

3636
pwm {
3737
compatible = "st,stm32-pwm";

Documentation/devicetree/bindings/net/dsa/b53.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Required properties:
3434
"brcm,bcm6328-switch"
3535
"brcm,bcm6368-switch" and the mandatory "brcm,bcm63xx-switch"
3636

37-
See Documentation/devicetree/bindings/dsa/dsa.txt for a list of additional
37+
See Documentation/devicetree/bindings/net/dsa/dsa.txt for a list of additional
3838
required and optional properties.
3939

4040
Examples:

Documentation/devicetree/bindings/net/dsa/marvell.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ Optional properties:
2626
- interrupt-controller : Indicates the switch is itself an interrupt
2727
controller. This is used for the PHY interrupts.
2828
#interrupt-cells = <2> : Controller uses two cells, number and flag
29+
- eeprom-length : Set to the length of an EEPROM connected to the
30+
switch. Must be set if the switch can not detect
31+
the presence and/or size of a connected EEPROM,
32+
otherwise optional.
2933
- mdio : Container of PHY and devices on the switches MDIO
3034
bus.
3135
- mdio? : Container of PHYs and devices on the external MDIO

Documentation/devicetree/bindings/net/smsc911x.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ Optional properties:
2727
of the device. On many systems this is wired high so the device goes
2828
out of reset at power-on, but if it is under program control, this
2929
optional GPIO can wake up in response to it.
30+
- vdd33a-supply, vddvario-supply : 3.3V analog and IO logic power supplies
3031

3132
Examples:
3233

Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,6 @@ bias-bus-hold - latch weakly
247247
bias-pull-up - pull up the pin
248248
bias-pull-down - pull down the pin
249249
bias-pull-pin-default - use pin-default pull state
250-
bi-directional - pin supports simultaneous input/output operations
251250
drive-push-pull - drive actively high and low
252251
drive-open-drain - drive with open drain
253252
drive-open-source - drive with open source
@@ -260,7 +259,6 @@ input-debounce - debounce mode with debound time X
260259
power-source - select between different power supplies
261260
low-power-enable - enable low power mode
262261
low-power-disable - disable low power mode
263-
output-enable - enable output on pin regardless of output value
264262
output-low - set the pin to output mode with low level
265263
output-high - set the pin to output mode with high level
266264
slew-rate - set the slew rate
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Device-Tree binding for ps/2 gpio device
2+
3+
Required properties:
4+
- compatible = "ps2-gpio"
5+
- data-gpios: the data pin
6+
- clk-gpios: the clock pin
7+
- interrupts: Should trigger on the falling edge of the clock line.
8+
9+
Optional properties:
10+
- write-enable: Indicates whether write function is provided
11+
to serio device. Possibly providing the write fn will not work, because
12+
of the tough timing requirements.
13+
14+
Example nodes:
15+
16+
ps2@0 {
17+
compatible = "ps2-gpio";
18+
interrupt-parent = <&gpio>;
19+
interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
20+
data-gpios = <&gpio 24 GPIO_ACTIVE_HIGH>;
21+
clk-gpios = <&gpio 23 GPIO_ACTIVE_HIGH>;
22+
write-enable;
23+
};

Documentation/devicetree/bindings/usb/dwc2.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Required properties:
1010
- "rockchip,rk3288-usb", "rockchip,rk3066-usb", "snps,dwc2": for rk3288 Soc;
1111
- "lantiq,arx100-usb": The DWC2 USB controller instance in Lantiq ARX SoCs;
1212
- "lantiq,xrx200-usb": The DWC2 USB controller instance in Lantiq XRX SoCs;
13+
- "amlogic,meson8-usb": The DWC2 USB controller instance in Amlogic Meson8 SoCs;
1314
- "amlogic,meson8b-usb": The DWC2 USB controller instance in Amlogic Meson8b SoCs;
1415
- "amlogic,meson-gxbb-usb": The DWC2 USB controller instance in Amlogic S905 SoCs;
1516
- "amcc,dwc-otg": The DWC2 USB controller instance in AMCC Canyonlands 460EX SoCs;

Documentation/gpio/drivers-on-gpio.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@ hardware descriptions such as device tree or ACPI:
8484
NAND flash MTD subsystem and provides chip access and partition parsing like
8585
any other NAND driving hardware.
8686

87+
- ps2-gpio: drivers/input/serio/ps2-gpio.c is used to drive a PS/2 (IBM) serio
88+
bus, data and clock line, by bit banging two GPIO lines. It will appear as
89+
any other serio bus to the system and makes it possible to connect drivers
90+
for e.g. keyboards and other PS/2 protocol based devices.
91+
8792
Apart from this there are special GPIO drivers in subsystems like MMC/SD to
8893
read card detect and write protect GPIO lines, and in the TTY serial subsystem
8994
to emulate MCTRL (modem control) signals CTS/RTS by using two GPIO lines. The

Documentation/networking/dpaa.txt

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
The QorIQ DPAA Ethernet Driver
2+
==============================
3+
4+
Authors:
5+
Madalin Bucur <[email protected]>
6+
Camelia Groza <[email protected]>
7+
8+
Contents
9+
========
10+
11+
- DPAA Ethernet Overview
12+
- DPAA Ethernet Supported SoCs
13+
- Configuring DPAA Ethernet in your kernel
14+
- DPAA Ethernet Frame Processing
15+
- DPAA Ethernet Features
16+
- Debugging
17+
18+
DPAA Ethernet Overview
19+
======================
20+
21+
DPAA stands for Data Path Acceleration Architecture and it is a
22+
set of networking acceleration IPs that are available on several
23+
generations of SoCs, both on PowerPC and ARM64.
24+
25+
The Freescale DPAA architecture consists of a series of hardware blocks
26+
that support Ethernet connectivity. The Ethernet driver depends upon the
27+
following drivers in the Linux kernel:
28+
29+
- Peripheral Access Memory Unit (PAMU) (* needed only for PPC platforms)
30+
drivers/iommu/fsl_*
31+
- Frame Manager (FMan)
32+
drivers/net/ethernet/freescale/fman
33+
- Queue Manager (QMan), Buffer Manager (BMan)
34+
drivers/soc/fsl/qbman
35+
36+
A simplified view of the dpaa_eth interfaces mapped to FMan MACs:
37+
38+
dpaa_eth /eth0\ ... /ethN\
39+
driver | | | |
40+
------------- ---- ----------- ---- -------------
41+
-Ports / Tx Rx \ ... / Tx Rx \
42+
FMan | | | |
43+
-MACs | MAC0 | | MACN |
44+
/ dtsec0 \ ... / dtsecN \ (or tgec)
45+
/ \ / \(or memac)
46+
--------- -------------- --- -------------- ---------
47+
FMan, FMan Port, FMan SP, FMan MURAM drivers
48+
---------------------------------------------------------
49+
FMan HW blocks: MURAM, MACs, Ports, SP
50+
---------------------------------------------------------
51+
52+
The dpaa_eth relation to the QMan, BMan and FMan:
53+
________________________________
54+
dpaa_eth / eth0 \
55+
driver / \
56+
--------- -^- -^- -^- --- ---------
57+
QMan driver / \ / \ / \ \ / | BMan |
58+
|Rx | |Rx | |Tx | |Tx | | driver |
59+
--------- |Dfl| |Err| |Cnf| |FQs| | |
60+
QMan HW |FQ | |FQ | |FQs| | | | |
61+
/ \ / \ / \ \ / | |
62+
--------- --- --- --- -v- ---------
63+
| FMan QMI | |
64+
| FMan HW FMan BMI | BMan HW |
65+
----------------------- --------
66+
67+
where the acronyms used above (and in the code) are:
68+
DPAA = Data Path Acceleration Architecture
69+
FMan = DPAA Frame Manager
70+
QMan = DPAA Queue Manager
71+
BMan = DPAA Buffers Manager
72+
QMI = QMan interface in FMan
73+
BMI = BMan interface in FMan
74+
FMan SP = FMan Storage Profiles
75+
MURAM = Multi-user RAM in FMan
76+
FQ = QMan Frame Queue
77+
Rx Dfl FQ = default reception FQ
78+
Rx Err FQ = Rx error frames FQ
79+
Tx Cnf FQ = Tx confirmation FQs
80+
Tx FQs = transmission frame queues
81+
dtsec = datapath three speed Ethernet controller (10/100/1000 Mbps)
82+
tgec = ten gigabit Ethernet controller (10 Gbps)
83+
memac = multirate Ethernet MAC (10/100/1000/10000)
84+
85+
DPAA Ethernet Supported SoCs
86+
============================
87+
88+
The DPAA drivers enable the Ethernet controllers present on the following SoCs:
89+
90+
# PPC
91+
P1023
92+
P2041
93+
P3041
94+
P4080
95+
P5020
96+
P5040
97+
T1023
98+
T1024
99+
T1040
100+
T1042
101+
T2080
102+
T4240
103+
B4860
104+
105+
# ARM
106+
LS1043A
107+
LS1046A
108+
109+
Configuring DPAA Ethernet in your kernel
110+
========================================
111+
112+
To enable the DPAA Ethernet driver, the following Kconfig options are required:
113+
114+
# common for arch/arm64 and arch/powerpc platforms
115+
CONFIG_FSL_DPAA=y
116+
CONFIG_FSL_FMAN=y
117+
CONFIG_FSL_DPAA_ETH=y
118+
CONFIG_FSL_XGMAC_MDIO=y
119+
120+
# for arch/powerpc only
121+
CONFIG_FSL_PAMU=y
122+
123+
# common options needed for the PHYs used on the RDBs
124+
CONFIG_VITESSE_PHY=y
125+
CONFIG_REALTEK_PHY=y
126+
CONFIG_AQUANTIA_PHY=y
127+
128+
DPAA Ethernet Frame Processing
129+
==============================
130+
131+
On Rx, buffers for the incoming frames are retrieved from one of the three
132+
existing buffers pools. The driver initializes and seeds these, each with
133+
buffers of different sizes: 1KB, 2KB and 4KB.
134+
135+
On Tx, all transmitted frames are returned to the driver through Tx
136+
confirmation frame queues. The driver is then responsible for freeing the
137+
buffers. In order to do this properly, a backpointer is added to the buffer
138+
before transmission that points to the skb. When the buffer returns to the
139+
driver on a confirmation FQ, the skb can be correctly consumed.
140+
141+
DPAA Ethernet Features
142+
======================
143+
144+
Currently the DPAA Ethernet driver enables the basic features required for
145+
a Linux Ethernet driver. The support for advanced features will be added
146+
gradually.
147+
148+
The driver has Rx and Tx checksum offloading for UDP and TCP. Currently the Rx
149+
checksum offload feature is enabled by default and cannot be controlled through
150+
ethtool.
151+
152+
The driver has support for multiple prioritized Tx traffic classes. Priorities
153+
range from 0 (lowest) to 3 (highest). These are mapped to HW workqueues with
154+
strict priority levels. Each traffic class contains NR_CPU TX queues. By
155+
default, only one traffic class is enabled and the lowest priority Tx queues
156+
are used. Higher priority traffic classes can be enabled with the mqprio
157+
qdisc. For example, all four traffic classes are enabled on an interface with
158+
the following command. Furthermore, skb priority levels are mapped to traffic
159+
classes as follows:
160+
161+
* priorities 0 to 3 - traffic class 0 (low priority)
162+
* priorities 4 to 7 - traffic class 1 (medium-low priority)
163+
* priorities 8 to 11 - traffic class 2 (medium-high priority)
164+
* priorities 12 to 15 - traffic class 3 (high priority)
165+
166+
tc qdisc add dev <int> root handle 1: \
167+
mqprio num_tc 4 map 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 hw 1
168+
169+
Debugging
170+
=========
171+
172+
The following statistics are exported for each interface through ethtool:
173+
174+
- interrupt count per CPU
175+
- Rx packets count per CPU
176+
- Tx packets count per CPU
177+
- Tx confirmed packets count per CPU
178+
- Tx S/G frames count per CPU
179+
- Tx error count per CPU
180+
- Rx error count per CPU
181+
- Rx error count per type
182+
- congestion related statistics:
183+
- congestion status
184+
- time spent in congestion
185+
- number of time the device entered congestion
186+
- dropped packets count per cause
187+
188+
The driver also exports the following information in sysfs:
189+
190+
- the FQ IDs for each FQ type
191+
/sys/devices/platform/dpaa-ethernet.0/net/<int>/fqids
192+
193+
- the IDs of the buffer pools in use
194+
/sys/devices/platform/dpaa-ethernet.0/net/<int>/bpids

Documentation/networking/scaling.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ associated flow of the packet. The hash is either provided by hardware
122122
or will be computed in the stack. Capable hardware can pass the hash in
123123
the receive descriptor for the packet; this would usually be the same
124124
hash used for RSS (e.g. computed Toeplitz hash). The hash is saved in
125-
skb->rx_hash and can be used elsewhere in the stack as a hash of the
125+
skb->hash and can be used elsewhere in the stack as a hash of the
126126
packet’s flow.
127127

128128
Each receive hardware queue has an associated list of CPUs to which

0 commit comments

Comments
 (0)