Skip to content

Commit 6abdd5f

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
All three conflicts were cases of simple overlapping changes. Signed-off-by: David S. Miller <[email protected]>
2 parents 0b498a5 + e4e98c4 commit 6abdd5f

File tree

468 files changed

+5386
-2127
lines changed

Some content is hidden

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

468 files changed

+5386
-2127
lines changed

Documentation/PCI/MSI-HOWTO.txt

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,11 @@ has a requirements for a minimum number of vectors the driver can pass a
9494
min_vecs argument set to this limit, and the PCI core will return -ENOSPC
9595
if it can't meet the minimum number of vectors.
9696

97-
The flags argument should normally be set to 0, but can be used to pass the
98-
PCI_IRQ_NOMSI and PCI_IRQ_NOMSIX flag in case a device claims to support
99-
MSI or MSI-X, but the support is broken, or to pass PCI_IRQ_NOLEGACY in
100-
case the device does not support legacy interrupt lines.
101-
102-
By default this function will spread the interrupts around the available
103-
CPUs, but this feature can be disabled by passing the PCI_IRQ_NOAFFINITY
104-
flag.
97+
The flags argument is used to specify which type of interrupt can be used
98+
by the device and the driver (PCI_IRQ_LEGACY, PCI_IRQ_MSI, PCI_IRQ_MSIX).
99+
A convenient short-hand (PCI_IRQ_ALL_TYPES) is also available to ask for
100+
any possible kind of interrupt. If the PCI_IRQ_AFFINITY flag is set,
101+
pci_alloc_irq_vectors() will spread the interrupts around the available CPUs.
105102

106103
To get the Linux IRQ numbers passed to request_irq() and free_irq() and the
107104
vectors, use the following function:
@@ -131,7 +128,7 @@ larger than the number supported by the device it will automatically be
131128
capped to the supported limit, so there is no need to query the number of
132129
vectors supported beforehand:
133130

134-
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, 0);
131+
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_ALL_TYPES)
135132
if (nvec < 0)
136133
goto out_err;
137134

@@ -140,23 +137,22 @@ interrupts it can request a particular number of interrupts by passing that
140137
number to pci_alloc_irq_vectors() function as both 'min_vecs' and
141138
'max_vecs' parameters:
142139

143-
ret = pci_alloc_irq_vectors(pdev, nvec, nvec, 0);
140+
ret = pci_alloc_irq_vectors(pdev, nvec, nvec, PCI_IRQ_ALL_TYPES);
144141
if (ret < 0)
145142
goto out_err;
146143

147144
The most notorious example of the request type described above is enabling
148145
the single MSI mode for a device. It could be done by passing two 1s as
149146
'min_vecs' and 'max_vecs':
150147

151-
ret = pci_alloc_irq_vectors(pdev, 1, 1, 0);
148+
ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
152149
if (ret < 0)
153150
goto out_err;
154151

155152
Some devices might not support using legacy line interrupts, in which case
156-
the PCI_IRQ_NOLEGACY flag can be used to fail the request if the platform
157-
can't provide MSI or MSI-X interrupts:
153+
the driver can specify that only MSI or MSI-X is acceptable:
158154

159-
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_NOLEGACY);
155+
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI | PCI_IRQ_MSIX);
160156
if (nvec < 0)
161157
goto out_err;
162158

Documentation/arm64/silicon-errata.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ stable kernels.
5353
| ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 |
5454
| ARM | Cortex-A57 | #852523 | N/A |
5555
| ARM | Cortex-A57 | #834220 | ARM64_ERRATUM_834220 |
56+
| ARM | Cortex-A72 | #853709 | N/A |
5657
| ARM | MMU-500 | #841119,#826419 | N/A |
5758
| | | | |
5859
| Cavium | ThunderX ITS | #22375, #24313 | CAVIUM_ERRATUM_22375 |

Documentation/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
todo_include_todos = False
132132

133133
primary_domain = 'C'
134-
highlight_language = 'C'
134+
highlight_language = 'guess'
135135

136136
# -- Options for HTML output ----------------------------------------------
137137

Documentation/devicetree/bindings/sound/omap-mcpdm.txt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ Required properties:
88
- interrupts: Interrupt number for McPDM
99
- interrupt-parent: The parent interrupt controller
1010
- ti,hwmods: Name of the hwmod associated to the McPDM
11-
- clocks: phandle for the pdmclk provider, likely <&twl6040>
12-
- clock-names: Must be "pdmclk"
1311

1412
Example:
1513

@@ -21,11 +19,3 @@ mcpdm: mcpdm@40132000 {
2119
interrupt-parent = <&gic>;
2220
ti,hwmods = "mcpdm";
2321
};
24-
25-
In board DTS file the pdmclk needs to be added:
26-
27-
&mcpdm {
28-
clocks = <&twl6040>;
29-
clock-names = "pdmclk";
30-
status = "okay";
31-
};

Documentation/devicetree/bindings/thermal/thermal.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ For more examples of cooling devices, refer to the example sections below.
6262
Required properties:
6363
- #cooling-cells: Used to provide cooling device specific information
6464
Type: unsigned while referring to it. Must be at least 2, in order
65-
Size: one cell to specify minimum and maximum cooling state used
65+
Size: one cell to specify minimum and maximum cooling state used
6666
in the reference. The first cell is the minimum
6767
cooling state requested and the second cell is
6868
the maximum cooling state requested in the reference.
@@ -119,7 +119,7 @@ Required properties:
119119
Optional property:
120120
- contribution: The cooling contribution to the thermal zone of the
121121
Type: unsigned referred cooling device at the referred trip point.
122-
Size: one cell The contribution is a ratio of the sum
122+
Size: one cell The contribution is a ratio of the sum
123123
of all cooling contributions within a thermal zone.
124124

125125
Note: Using the THERMAL_NO_LIMIT (-1UL) constant in the cooling-device phandle
@@ -145,7 +145,7 @@ Required properties:
145145
Size: one cell
146146

147147
- thermal-sensors: A list of thermal sensor phandles and sensor specifier
148-
Type: list of used while monitoring the thermal zone.
148+
Type: list of used while monitoring the thermal zone.
149149
phandles + sensor
150150
specifier
151151

@@ -473,7 +473,7 @@ thermal-zones {
473473
<&adc>; /* pcb north */
474474

475475
/* hotspot = 100 * bandgap - 120 * adc + 484 */
476-
coefficients = <100 -120 484>;
476+
coefficients = <100 -120 484>;
477477

478478
trips {
479479
...
@@ -502,7 +502,7 @@ from the ADC sensor. The binding would be then:
502502
thermal-sensors = <&adc>;
503503

504504
/* hotspot = 1 * adc + 6000 */
505-
coefficients = <1 6000>;
505+
coefficients = <1 6000>;
506506

507507
(d) - Board thermal
508508

Documentation/hwmon/ftsteutates

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ enhancements. It can monitor up to 4 voltages, 16 temperatures and
1919
implemented in this driver.
2020

2121
Specification of the chip can be found here:
22-
ftp:///pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
23-
ftp:///pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf
22+
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
23+
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf

Documentation/kernel-documentation.rst

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -366,8 +366,6 @@ Domain`_ references.
366366
Cross-referencing from reStructuredText
367367
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
368368

369-
.. highlight:: none
370-
371369
To cross-reference the functions and types defined in the kernel-doc comments
372370
from reStructuredText documents, please use the `Sphinx C Domain`_
373371
references. For example::
@@ -390,8 +388,6 @@ For further details, please refer to the `Sphinx C Domain`_ documentation.
390388
Function documentation
391389
----------------------
392390

393-
.. highlight:: c
394-
395391
The general format of a function and function-like macro kernel-doc comment is::
396392

397393
/**
@@ -572,8 +568,6 @@ DocBook XML [DEPRECATED]
572568
Converting DocBook to Sphinx
573569
----------------------------
574570

575-
.. highlight:: none
576-
577571
Over time, we expect all of the documents under ``Documentation/DocBook`` to be
578572
converted to Sphinx and reStructuredText. For most DocBook XML documents, a good
579573
enough solution is to use the simple ``Documentation/sphinx/tmplcvt`` script,

Documentation/kernel-parameters.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3032,6 +3032,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
30323032
PAGE_SIZE is used as alignment.
30333033
PCI-PCI bridge can be specified, if resource
30343034
windows need to be expanded.
3035+
To specify the alignment for several
3036+
instances of a device, the PCI vendor,
3037+
device, subvendor, and subdevice may be
3038+
specified, e.g., 4096@pci:8086:9c22:103c:198f
30353039
ecrc= Enable/disable PCIe ECRC (transaction layer
30363040
end-to-end CRC checking).
30373041
bios: Use BIOS/firmware settings. This is the

Documentation/networking/dsa/dsa.txt

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -587,26 +587,6 @@ of DSA, would be the its port-based VLAN, used by the associated bridge device.
587587
TODO
588588
====
589589

590-
The platform device problem
591-
---------------------------
592-
DSA is currently implemented as a platform device driver which is far from ideal
593-
as was discussed in this thread:
594-
595-
http://permalink.gmane.org/gmane.linux.network/329848
596-
597-
This basically prevents the device driver model to be properly used and applied,
598-
and support non-MDIO, non-MMIO Ethernet connected switches.
599-
600-
Another problem with the platform device driver approach is that it prevents the
601-
use of a modular switch drivers build due to a circular dependency, illustrated
602-
here:
603-
604-
http://comments.gmane.org/gmane.linux.network/345803
605-
606-
Attempts of reworking this has been done here:
607-
608-
https://lwn.net/Articles/643149/
609-
610590
Making SWITCHDEV and DSA converge towards an unified codebase
611591
-------------------------------------------------------------
612592

Documentation/power/basic-pm-debugging.txt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,32 @@ load n/2 modules more and try again.
164164
Again, if you find the offending module(s), it(they) must be unloaded every time
165165
before hibernation, and please report the problem with it(them).
166166

167-
c) Advanced debugging
167+
c) Using the "test_resume" hibernation option
168+
169+
/sys/power/disk generally tells the kernel what to do after creating a
170+
hibernation image. One of the available options is "test_resume" which
171+
causes the just created image to be used for immediate restoration. Namely,
172+
after doing:
173+
174+
# echo test_resume > /sys/power/disk
175+
# echo disk > /sys/power/state
176+
177+
a hibernation image will be created and a resume from it will be triggered
178+
immediately without involving the platform firmware in any way.
179+
180+
That test can be used to check if failures to resume from hibernation are
181+
related to bad interactions with the platform firmware. That is, if the above
182+
works every time, but resume from actual hibernation does not work or is
183+
unreliable, the platform firmware may be responsible for the failures.
184+
185+
On architectures and platforms that support using different kernels to restore
186+
hibernation images (that is, the kernel used to read the image from storage and
187+
load it into memory is different from the one included in the image) or support
188+
kernel address space randomization, it also can be used to check if failures
189+
to resume may be related to the differences between the restore and image
190+
kernels.
191+
192+
d) Advanced debugging
168193

169194
In case that hibernation does not work on your system even in the minimal
170195
configuration and compiling more drivers as modules is not practical or some

Documentation/power/interface.txt

Lines changed: 76 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,76 @@
1-
Power Management Interface
2-
3-
4-
The power management subsystem provides a unified sysfs interface to
5-
userspace, regardless of what architecture or platform one is
6-
running. The interface exists in /sys/power/ directory (assuming sysfs
7-
is mounted at /sys).
8-
9-
/sys/power/state controls system power state. Reading from this file
10-
returns what states are supported, which is hard-coded to 'freeze',
11-
'standby' (Power-On Suspend), 'mem' (Suspend-to-RAM), and 'disk'
12-
(Suspend-to-Disk).
13-
14-
Writing to this file one of those strings causes the system to
15-
transition into that state. Please see the file
16-
Documentation/power/states.txt for a description of each of those
17-
states.
18-
19-
20-
/sys/power/disk controls the operating mode of the suspend-to-disk
21-
mechanism. Suspend-to-disk can be handled in several ways. We have a
22-
few options for putting the system to sleep - using the platform driver
23-
(e.g. ACPI or other suspend_ops), powering off the system or rebooting the
24-
system (for testing).
25-
26-
Additionally, /sys/power/disk can be used to turn on one of the two testing
27-
modes of the suspend-to-disk mechanism: 'testproc' or 'test'. If the
28-
suspend-to-disk mechanism is in the 'testproc' mode, writing 'disk' to
29-
/sys/power/state will cause the kernel to disable nonboot CPUs and freeze
30-
tasks, wait for 5 seconds, unfreeze tasks and enable nonboot CPUs. If it is
31-
in the 'test' mode, writing 'disk' to /sys/power/state will cause the kernel
32-
to disable nonboot CPUs and freeze tasks, shrink memory, suspend devices, wait
33-
for 5 seconds, resume devices, unfreeze tasks and enable nonboot CPUs. Then,
34-
we are able to look in the log messages and work out, for example, which code
35-
is being slow and which device drivers are misbehaving.
36-
37-
Reading from this file will display all supported modes and the currently
38-
selected one in brackets, for example
39-
40-
[shutdown] reboot test testproc
41-
42-
Writing to this file will accept one of
43-
44-
'platform' (only if the platform supports it)
45-
'shutdown'
46-
'reboot'
47-
'testproc'
48-
'test'
49-
50-
/sys/power/image_size controls the size of the image created by
51-
the suspend-to-disk mechanism. It can be written a string
52-
representing a non-negative integer that will be used as an upper
53-
limit of the image size, in bytes. The suspend-to-disk mechanism will
54-
do its best to ensure the image size will not exceed that number. However,
55-
if this turns out to be impossible, it will try to suspend anyway using the
56-
smallest image possible. In particular, if "0" is written to this file, the
57-
suspend image will be as small as possible.
58-
59-
Reading from this file will display the current image size limit, which
60-
is set to 2/5 of available RAM by default.
61-
62-
/sys/power/pm_trace controls the code which saves the last PM event point in
63-
the RTC across reboots, so that you can debug a machine that just hangs
64-
during suspend (or more commonly, during resume). Namely, the RTC is only
65-
used to save the last PM event point if this file contains '1'. Initially it
66-
contains '0' which may be changed to '1' by writing a string representing a
67-
nonzero integer into it.
68-
69-
To use this debugging feature you should attempt to suspend the machine, then
70-
reboot it and run
71-
72-
dmesg -s 1000000 | grep 'hash matches'
73-
74-
CAUTION: Using it will cause your machine's real-time (CMOS) clock to be
75-
set to a random invalid time after a resume.
1+
Power Management Interface for System Sleep
2+
3+
Copyright (c) 2016 Intel Corp., Rafael J. Wysocki <[email protected]>
4+
5+
The power management subsystem provides userspace with a unified sysfs interface
6+
for system sleep regardless of the underlying system architecture or platform.
7+
The interface is located in the /sys/power/ directory (assuming that sysfs is
8+
mounted at /sys).
9+
10+
/sys/power/state is the system sleep state control file.
11+
12+
Reading from it returns a list of supported sleep states, encoded as:
13+
14+
'freeze' (Suspend-to-Idle)
15+
'standby' (Power-On Suspend)
16+
'mem' (Suspend-to-RAM)
17+
'disk' (Suspend-to-Disk)
18+
19+
Suspend-to-Idle is always supported. Suspend-to-Disk is always supported
20+
too as long the kernel has been configured to support hibernation at all
21+
(ie. CONFIG_HIBERNATION is set in the kernel configuration file). Support
22+
for Suspend-to-RAM and Power-On Suspend depends on the capabilities of the
23+
platform.
24+
25+
If one of the strings listed in /sys/power/state is written to it, the system
26+
will attempt to transition into the corresponding sleep state. Refer to
27+
Documentation/power/states.txt for a description of each of those states.
28+
29+
/sys/power/disk controls the operating mode of hibernation (Suspend-to-Disk).
30+
Specifically, it tells the kernel what to do after creating a hibernation image.
31+
32+
Reading from it returns a list of supported options encoded as:
33+
34+
'platform' (put the system into sleep using a platform-provided method)
35+
'shutdown' (shut the system down)
36+
'reboot' (reboot the system)
37+
'suspend' (trigger a Suspend-to-RAM transition)
38+
'test_resume' (resume-after-hibernation test mode)
39+
40+
The currently selected option is printed in square brackets.
41+
42+
The 'platform' option is only available if the platform provides a special
43+
mechanism to put the system to sleep after creating a hibernation image (ACPI
44+
does that, for example). The 'suspend' option is available if Suspend-to-RAM
45+
is supported. Refer to Documentation/power/basic_pm_debugging.txt for the
46+
description of the 'test_resume' option.
47+
48+
To select an option, write the string representing it to /sys/power/disk.
49+
50+
/sys/power/image_size controls the size of hibernation images.
51+
52+
It can be written a string representing a non-negative integer that will be
53+
used as a best-effort upper limit of the image size, in bytes. The hibernation
54+
core will do its best to ensure that the image size will not exceed that number.
55+
However, if that turns out to be impossible to achieve, a hibernation image will
56+
still be created and its size will be as small as possible. In particular,
57+
writing '0' to this file will enforce hibernation images to be as small as
58+
possible.
59+
60+
Reading from this file returns the current image size limit, which is set to
61+
around 2/5 of available RAM by default.
62+
63+
/sys/power/pm_trace controls the PM trace mechanism saving the last suspend
64+
or resume event point in the RTC across reboots.
65+
66+
It helps to debug hard lockups or reboots due to device driver failures that
67+
occur during system suspend or resume (which is more common) more effectively.
68+
69+
If /sys/power/pm_trace contains '1', the fingerprint of each suspend/resume
70+
event point in turn will be stored in the RTC memory (overwriting the actual
71+
RTC information), so it will survive a system crash if one occurs right after
72+
storing it and it can be used later to identify the driver that caused the crash
73+
to happen (see Documentation/power/s2ram.txt for more information).
74+
75+
Initially it contains '0' which may be changed to '1' by writing a string
76+
representing a nonzero integer into it.

0 commit comments

Comments
 (0)