Skip to content

Commit 9a683fe

Browse files
committed
Merge tag 'v7.0-rc6' into perf-tools
To get the latest updates and fixes. Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2 parents 841dbf4 + 7aaa804 commit 9a683fe

669 files changed

Lines changed: 8555 additions & 3426 deletions

File tree

Some content is hidden

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

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,7 @@ Hans Verkuil <hverkuil@kernel.org> <hverkuil-cisco@xs4all.nl>
316316
Hans Verkuil <hverkuil@kernel.org> <hansverk@cisco.com>
317317
Hao Ge <hao.ge@linux.dev> <gehao@kylinos.cn>
318318
Harry Yoo <harry.yoo@oracle.com> <42.hyeyoo@gmail.com>
319+
Harry Yoo <harry@kernel.org> <harry.yoo@oracle.com>
319320
Heiko Carstens <hca@linux.ibm.com> <h.carstens@de.ibm.com>
320321
Heiko Carstens <hca@linux.ibm.com> <heiko.carstens@de.ibm.com>
321322
Heiko Stuebner <heiko@sntech.de> <heiko.stuebner@bqreaders.com>
@@ -587,6 +588,7 @@ Morten Welinder <terra@gnome.org>
587588
Morten Welinder <welinder@anemone.rentec.com>
588589
Morten Welinder <welinder@darter.rentec.com>
589590
Morten Welinder <welinder@troll.com>
591+
Muhammad Usama Anjum <usama.anjum@arm.com> <usama.anjum@collabora.com>
590592
Mukesh Ojha <quic_mojha@quicinc.com> <mojha@codeaurora.org>
591593
Muna Sinada <quic_msinada@quicinc.com> <msinada@codeaurora.org>
592594
Murali Nalajala <quic_mnalajal@quicinc.com> <mnalajal@codeaurora.org>

Documentation/PCI/pcieaer-howto.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,16 @@ In the example, 'Requester ID' means the ID of the device that sent
8585
the error message to the Root Port. Please refer to PCIe specs for other
8686
fields.
8787

88+
The 'TLP Header' is the prefix/header of the TLP that caused the error
89+
in raw hex format. To decode the TLP Header into human-readable form
90+
one may use tlp-tool:
91+
92+
https://github.com/mmpg-x86/tlp-tool
93+
94+
Example usage::
95+
96+
curl -L https://git.kernel.org/linus/2ca1c94ce0b6 | rtlp-tool --aer
97+
8898
AER Ratelimits
8999
--------------
90100

Documentation/core-api/dma-attributes.rst

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,33 @@ For architectures that require cache flushing for DMA coherence
149149
DMA_ATTR_MMIO will not perform any cache flushing. The address
150150
provided must never be mapped cacheable into the CPU.
151151

152-
DMA_ATTR_CPU_CACHE_CLEAN
153-
------------------------
154-
155-
This attribute indicates the CPU will not dirty any cacheline overlapping this
156-
DMA_FROM_DEVICE/DMA_BIDIRECTIONAL buffer while it is mapped. This allows
157-
multiple small buffers to safely share a cacheline without risk of data
158-
corruption, suppressing DMA debug warnings about overlapping mappings.
159-
All mappings sharing a cacheline should have this attribute.
152+
DMA_ATTR_DEBUGGING_IGNORE_CACHELINES
153+
------------------------------------
154+
155+
This attribute indicates that CPU cache lines may overlap for buffers mapped
156+
with DMA_FROM_DEVICE or DMA_BIDIRECTIONAL.
157+
158+
Such overlap may occur when callers map multiple small buffers that reside
159+
within the same cache line. In this case, callers must guarantee that the CPU
160+
will not dirty these cache lines after the mappings are established. When this
161+
condition is met, multiple buffers can safely share a cache line without risking
162+
data corruption.
163+
164+
All mappings that share a cache line must set this attribute to suppress DMA
165+
debug warnings about overlapping mappings.
166+
167+
DMA_ATTR_REQUIRE_COHERENT
168+
-------------------------
169+
170+
DMA mapping requests with the DMA_ATTR_REQUIRE_COHERENT fail on any
171+
system where SWIOTLB or cache management is required. This should only
172+
be used to support uAPI designs that require continuous HW DMA
173+
coherence with userspace processes, for example RDMA and DRM. At a
174+
minimum the memory being mapped must be userspace memory from
175+
pin_user_pages() or similar.
176+
177+
Drivers should consider using dma_mmap_pages() instead of this
178+
interface when building their uAPIs, when possible.
179+
180+
It must never be used in an in-kernel driver that only works with
181+
kernel memory.

Documentation/devicetree/bindings/mtd/st,spear600-smi.yaml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ description:
1919
Flash sub nodes describe the memory range and optional per-flash
2020
properties.
2121

22-
allOf:
23-
- $ref: mtd.yaml#
24-
2522
properties:
2623
compatible:
2724
const: st,spear600-smi
@@ -42,14 +39,29 @@ properties:
4239
$ref: /schemas/types.yaml#/definitions/uint32
4340
description: Functional clock rate of the SMI controller in Hz.
4441

45-
st,smi-fast-mode:
46-
type: boolean
47-
description: Indicates that the attached flash supports fast read mode.
42+
patternProperties:
43+
"^flash@.*$":
44+
$ref: /schemas/mtd/mtd.yaml#
45+
46+
properties:
47+
reg:
48+
maxItems: 1
49+
50+
st,smi-fast-mode:
51+
type: boolean
52+
description: Indicates that the attached flash supports fast read mode.
53+
54+
unevaluatedProperties: false
55+
56+
required:
57+
- reg
4858

4959
required:
5060
- compatible
5161
- reg
5262
- clock-rate
63+
- "#address-cells"
64+
- "#size-cells"
5365

5466
unevaluatedProperties: false
5567

@@ -64,7 +76,7 @@ examples:
6476
interrupts = <12>;
6577
clock-rate = <50000000>; /* 50 MHz */
6678
67-
flash@f8000000 {
79+
flash@fc000000 {
6880
reg = <0xfc000000 0x1000>;
6981
st,smi-fast-mode;
7082
};

Documentation/devicetree/bindings/regulator/regulator.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ properties:
168168
offset from voltage set to regulator.
169169

170170
regulator-uv-protection-microvolt:
171-
description: Set over under voltage protection limit. This is a limit where
171+
description: Set under voltage protection limit. This is a limit where
172172
hardware performs emergency shutdown. Zero can be passed to disable
173173
protection and value '1' indicates that protection should be enabled but
174174
limit setting can be omitted. Limit is given as microvolt offset from
@@ -182,7 +182,7 @@ properties:
182182
is given as microvolt offset from voltage set to regulator.
183183

184184
regulator-uv-warn-microvolt:
185-
description: Set over under voltage warning limit. This is a limit where
185+
description: Set under voltage warning limit. This is a limit where
186186
hardware is assumed still to be functional but approaching limit where
187187
it gets damaged. Recovery actions should be initiated. Zero can be passed
188188
to disable detection and value '1' indicates that detection should

Documentation/devicetree/bindings/sound/rockchip-spdif.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ properties:
3333
- const: rockchip,rk3066-spdif
3434
- items:
3535
- enum:
36+
- rockchip,rk3576-spdif
3637
- rockchip,rk3588-spdif
3738
- const: rockchip,rk3568-spdif
3839

Documentation/devicetree/bindings/sound/st,stm32-sai.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ allOf:
164164
properties:
165165
compatible:
166166
contains:
167-
const: st,stm32mph7-sai
167+
const: st,stm32h7-sai
168168
then:
169169
properties:
170170
clocks:

Documentation/driver-api/driver-model/binding.rst

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,51 @@ of the driver is decremented. All symlinks between the two are removed.
9999
When a driver is removed, the list of devices that it supports is
100100
iterated over, and the driver's remove callback is called for each
101101
one. The device is removed from that list and the symlinks removed.
102+
103+
104+
Driver Override
105+
~~~~~~~~~~~~~~~
106+
107+
Userspace may override the standard matching by writing a driver name to
108+
a device's ``driver_override`` sysfs attribute. When set, only a driver
109+
whose name matches the override will be considered during binding. This
110+
bypasses all bus-specific matching (OF, ACPI, ID tables, etc.).
111+
112+
The override may be cleared by writing an empty string, which returns
113+
the device to standard matching rules. Writing to ``driver_override``
114+
does not automatically unbind the device from its current driver or
115+
make any attempt to load the specified driver.
116+
117+
Buses opt into this mechanism by setting the ``driver_override`` flag in
118+
their ``struct bus_type``::
119+
120+
const struct bus_type example_bus_type = {
121+
...
122+
.driver_override = true,
123+
};
124+
125+
When the flag is set, the driver core automatically creates the
126+
``driver_override`` sysfs attribute for every device on that bus.
127+
128+
The bus's ``match()`` callback should check the override before performing
129+
its own matching, using ``device_match_driver_override()``::
130+
131+
static int example_match(struct device *dev, const struct device_driver *drv)
132+
{
133+
int ret;
134+
135+
ret = device_match_driver_override(dev, drv);
136+
if (ret >= 0)
137+
return ret;
138+
139+
/* Fall through to bus-specific matching... */
140+
}
141+
142+
``device_match_driver_override()`` returns > 0 if the override matches
143+
the given driver, 0 if the override is set but does not match, or < 0 if
144+
no override is set at all.
145+
146+
Additional helpers are available:
147+
148+
- ``device_set_driver_override()`` - set or clear the override from kernel code.
149+
- ``device_has_driver_override()`` - check whether an override is set.

Documentation/filesystems/overlayfs.rst

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -783,6 +783,56 @@ controlled by the "uuid" mount option, which supports these values:
783783
mounted with "uuid=on".
784784

785785

786+
Durability and copy up
787+
----------------------
788+
789+
The fsync(2) system call ensures that the data and metadata of a file
790+
are safely written to the backing storage, which is expected to
791+
guarantee the existence of the information post system crash.
792+
793+
Without an fsync(2) call, there is no guarantee that the observed
794+
data after a system crash will be either the old or the new data, but
795+
in practice, the observed data after crash is often the old or new data
796+
or a mix of both.
797+
798+
When an overlayfs file is modified for the first time, copy up will
799+
create a copy of the lower file and its parent directories in the upper
800+
layer. Since the Linux filesystem API does not enforce any particular
801+
ordering on storing changes without explicit fsync(2) calls, in case
802+
of a system crash, the upper file could end up with no data at all
803+
(i.e. zeros), which would be an unusual outcome. To avoid this
804+
experience, overlayfs calls fsync(2) on the upper file before completing
805+
data copy up with rename(2) or link(2) to make the copy up "atomic".
806+
807+
By default, overlayfs does not explicitly call fsync(2) on copied up
808+
directories or on metadata-only copy up, so it provides no guarantee to
809+
persist the user's modification unless the user calls fsync(2).
810+
The fsync during copy up only guarantees that if a copy up is observed
811+
after a crash, the observed data is not zeroes or intermediate values
812+
from the copy up staging area.
813+
814+
On traditional local filesystems with a single journal (e.g. ext4, xfs),
815+
fsync on a file also persists the parent directory changes, because they
816+
are usually modified in the same transaction, so metadata durability during
817+
data copy up effectively comes for free. Overlayfs further limits risk by
818+
disallowing network filesystems as upper layer.
819+
820+
Overlayfs can be tuned to prefer performance or durability when storing
821+
to the underlying upper layer. This is controlled by the "fsync" mount
822+
option, which supports these values:
823+
824+
- "auto": (default)
825+
Call fsync(2) on upper file before completion of data copy up.
826+
No explicit fsync(2) on directory or metadata-only copy up.
827+
- "strict":
828+
Call fsync(2) on upper file and directories before completion of any
829+
copy up.
830+
- "volatile": [*]
831+
Prefer performance over durability (see `Volatile mount`_)
832+
833+
[*] The mount option "volatile" is an alias to "fsync=volatile".
834+
835+
786836
Volatile mount
787837
--------------
788838

Documentation/hwmon/adm1177.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@ for details.
2727
Sysfs entries
2828
-------------
2929

30-
The following attributes are supported. Current maxim attribute
30+
The following attributes are supported. Current maximum attribute
3131
is read-write, all other attributes are read-only.
3232

33-
in0_input Measured voltage in microvolts.
33+
in0_input Measured voltage in millivolts.
3434

35-
curr1_input Measured current in microamperes.
36-
curr1_max_alarm Overcurrent alarm in microamperes.
35+
curr1_input Measured current in milliamperes.
36+
curr1_max Overcurrent shutdown threshold in milliamperes.

0 commit comments

Comments
 (0)