Skip to content

Commit aa5c906

Browse files
committed
Merge 'origin/master' into perf-tools-next
To get the fixes in the perf-tools branch. Resolved a conflict due to RISC-V's syscall table change. Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2 parents d36e5b3 + 59b723c commit aa5c906

File tree

1,060 files changed

+12417
-7643
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,060 files changed

+12417
-7643
lines changed

.mailmap

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ Andrey Ryabinin <ryabinin.a.a@gmail.com> <aryabinin@virtuozzo.com>
7373
Andrzej Hajda <andrzej.hajda@intel.com> <a.hajda@samsung.com>
7474
André Almeida <andrealmeid@igalia.com> <andrealmeid@collabora.com>
7575
Andy Adamson <andros@citi.umich.edu>
76+
Andy Chiu <andybnac@gmail.com> <andy.chiu@sifive.com>
77+
Andy Chiu <andybnac@gmail.com> <taochiu@synology.com>
7678
Andy Shevchenko <andy@kernel.org> <andy@smile.org.ua>
7779
Andy Shevchenko <andy@kernel.org> <ext-andriy.shevchenko@nokia.com>
7880
Anilkumar Kolli <quic_akolli@quicinc.com> <akolli@codeaurora.org>
@@ -197,7 +199,8 @@ Elliot Berman <quic_eberman@quicinc.com> <eberman@codeaurora.org>
197199
Enric Balletbo i Serra <eballetbo@kernel.org> <enric.balletbo@collabora.com>
198200
Enric Balletbo i Serra <eballetbo@kernel.org> <eballetbo@iseebcn.com>
199201
Erik Kaneda <erik.kaneda@intel.com> <erik.schmauss@intel.com>
200-
Eugen Hristev <eugen.hristev@collabora.com> <eugen.hristev@microchip.com>
202+
Eugen Hristev <eugen.hristev@linaro.org> <eugen.hristev@microchip.com>
203+
Eugen Hristev <eugen.hristev@linaro.org> <eugen.hristev@collabora.com>
201204
Evgeniy Polyakov <johnpol@2ka.mipt.ru>
202205
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> <ezequiel@collabora.com>
203206
Faith Ekstrand <faith.ekstrand@collabora.com> <jason@jlekstrand.net>
@@ -280,7 +283,7 @@ Jan Glauber <jan.glauber@gmail.com> <jglauber@cavium.com>
280283
Jan Kuliga <jtkuliga.kdev@gmail.com> <jankul@alatek.krakow.pl>
281284
Jarkko Sakkinen <jarkko@kernel.org> <jarkko.sakkinen@linux.intel.com>
282285
Jarkko Sakkinen <jarkko@kernel.org> <jarkko@profian.com>
283-
Jarkko Sakkinen <jarkko@kernel.org> <jarkko.sakkinen@tuni.fi>
286+
Jarkko Sakkinen <jarkko@kernel.org> <jarkko.sakkinen@parity.io>
284287
Jason Gunthorpe <jgg@ziepe.ca> <jgg@mellanox.com>
285288
Jason Gunthorpe <jgg@ziepe.ca> <jgg@nvidia.com>
286289
Jason Gunthorpe <jgg@ziepe.ca> <jgunthorpe@obsidianresearch.com>
@@ -304,6 +307,11 @@ Jens Axboe <axboe@kernel.dk> <axboe@fb.com>
304307
Jens Axboe <axboe@kernel.dk> <axboe@meta.com>
305308
Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
306309
Jernej Skrabec <jernej.skrabec@gmail.com> <jernej.skrabec@siol.net>
310+
Jesper Dangaard Brouer <hawk@kernel.org> <brouer@redhat.com>
311+
Jesper Dangaard Brouer <hawk@kernel.org> <hawk@comx.dk>
312+
Jesper Dangaard Brouer <hawk@kernel.org> <jbrouer@redhat.com>
313+
Jesper Dangaard Brouer <hawk@kernel.org> <jdb@comx.dk>
314+
Jesper Dangaard Brouer <hawk@kernel.org> <netoptimizer@brouer.com>
307315
Jessica Zhang <quic_jesszhan@quicinc.com> <jesszhan@codeaurora.org>
308316
Jilai Wang <quic_jilaiw@quicinc.com> <jilaiw@codeaurora.org>
309317
Jiri Kosina <jikos@kernel.org> <jikos@jikos.cz>

Documentation/admin-guide/LSM/ipe.rst

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,10 @@ are signed through the PKCS#7 message format to enforce some level of
223223
authorization of the policies (prohibiting an attacker from gaining
224224
unconstrained root, and deploying an "allow all" policy). These
225225
policies must be signed by a certificate that chains to the
226-
``SYSTEM_TRUSTED_KEYRING``. With openssl, the policy can be signed by::
226+
``SYSTEM_TRUSTED_KEYRING``, or to the secondary and/or platform keyrings if
227+
``CONFIG_IPE_POLICY_SIG_SECONDARY_KEYRING`` and/or
228+
``CONFIG_IPE_POLICY_SIG_PLATFORM_KEYRING`` are enabled, respectively.
229+
With openssl, the policy can be signed by::
227230

228231
openssl smime -sign \
229232
-in "$MY_POLICY" \
@@ -266,7 +269,7 @@ in the kernel. This file is write-only and accepts a PKCS#7 signed
266269
policy. Two checks will always be performed on this policy: First, the
267270
``policy_names`` must match with the updated version and the existing
268271
version. Second the updated policy must have a policy version greater than
269-
or equal to the currently-running version. This is to prevent rollback attacks.
272+
the currently-running version. This is to prevent rollback attacks.
270273

271274
The ``delete`` file is used to remove a policy that is no longer needed.
272275
This file is write-only and accepts a value of ``1`` to delete the policy.

Documentation/admin-guide/pm/cpufreq.rst

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,8 @@ This governor exposes only one tunable:
425425

426426
``rate_limit_us``
427427
Minimum time (in microseconds) that has to pass between two consecutive
428-
runs of governor computations (default: 1000 times the scaling driver's
429-
transition latency).
428+
runs of governor computations (default: 1.5 times the scaling driver's
429+
transition latency or the maximum 2ms).
430430

431431
The purpose of this tunable is to reduce the scheduler context overhead
432432
of the governor which might be excessive without it.
@@ -474,17 +474,17 @@ This governor exposes the following tunables:
474474
This is how often the governor's worker routine should run, in
475475
microseconds.
476476

477-
Typically, it is set to values of the order of 10000 (10 ms). Its
478-
default value is equal to the value of ``cpuinfo_transition_latency``
479-
for each policy this governor is attached to (but since the unit here
480-
is greater by 1000, this means that the time represented by
481-
``sampling_rate`` is 1000 times greater than the transition latency by
482-
default).
477+
Typically, it is set to values of the order of 2000 (2 ms). Its
478+
default value is to add a 50% breathing room
479+
to ``cpuinfo_transition_latency`` on each policy this governor is
480+
attached to. The minimum is typically the length of two scheduler
481+
ticks.
483482

484483
If this tunable is per-policy, the following shell command sets the time
485-
represented by it to be 750 times as high as the transition latency::
484+
represented by it to be 1.5 times as high as the transition latency
485+
(the default)::
486486

487-
# echo `$(($(cat cpuinfo_transition_latency) * 750 / 1000)) > ondemand/sampling_rate
487+
# echo `$(($(cat cpuinfo_transition_latency) * 3 / 2)) > ondemand/sampling_rate
488488

489489
``up_threshold``
490490
If the estimated CPU load is above this value (in percent), the governor

Documentation/core-api/protection-keys.rst

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ Pkeys Userspace (PKU) is a feature which can be found on:
1212
* Intel server CPUs, Skylake and later
1313
* Intel client CPUs, Tiger Lake (11th Gen Core) and later
1414
* Future AMD CPUs
15+
* arm64 CPUs implementing the Permission Overlay Extension (FEAT_S1POE)
1516

17+
x86_64
18+
======
1619
Pkeys work by dedicating 4 previously Reserved bits in each page table entry to
1720
a "protection key", giving 16 possible keys.
1821

@@ -28,6 +31,22 @@ register. The feature is only available in 64-bit mode, even though there is
2831
theoretically space in the PAE PTEs. These permissions are enforced on data
2932
access only and have no effect on instruction fetches.
3033

34+
arm64
35+
=====
36+
37+
Pkeys use 3 bits in each page table entry, to encode a "protection key index",
38+
giving 8 possible keys.
39+
40+
Protections for each key are defined with a per-CPU user-writable system
41+
register (POR_EL0). This is a 64-bit register encoding read, write and execute
42+
overlay permissions for each protection key index.
43+
44+
Being a CPU register, POR_EL0 is inherently thread-local, potentially giving
45+
each thread a different set of protections from every other thread.
46+
47+
Unlike x86_64, the protection key permissions also apply to instruction
48+
fetches.
49+
3150
Syscalls
3251
========
3352

@@ -38,11 +57,10 @@ There are 3 system calls which directly interact with pkeys::
3857
int pkey_mprotect(unsigned long start, size_t len,
3958
unsigned long prot, int pkey);
4059

41-
Before a pkey can be used, it must first be allocated with
42-
pkey_alloc(). An application calls the WRPKRU instruction
43-
directly in order to change access permissions to memory covered
44-
with a key. In this example WRPKRU is wrapped by a C function
45-
called pkey_set().
60+
Before a pkey can be used, it must first be allocated with pkey_alloc(). An
61+
application writes to the architecture specific CPU register directly in order
62+
to change access permissions to memory covered with a key. In this example
63+
this is wrapped by a C function called pkey_set().
4664
::
4765

4866
int real_prot = PROT_READ|PROT_WRITE;
@@ -64,9 +82,9 @@ is no longer in use::
6482
munmap(ptr, PAGE_SIZE);
6583
pkey_free(pkey);
6684

67-
.. note:: pkey_set() is a wrapper for the RDPKRU and WRPKRU instructions.
68-
An example implementation can be found in
69-
tools/testing/selftests/x86/protection_keys.c.
85+
.. note:: pkey_set() is a wrapper around writing to the CPU register.
86+
Example implementations can be found in
87+
tools/testing/selftests/mm/pkey-{arm64,powerpc,x86}.h
7088

7189
Behavior
7290
========
@@ -96,3 +114,7 @@ with a read()::
96114
The kernel will send a SIGSEGV in both cases, but si_code will be set
97115
to SEGV_PKERR when violating protection keys versus SEGV_ACCERR when
98116
the plain mprotect() permissions are violated.
117+
118+
Note that kernel accesses from a kthread (such as io_uring) will use a default
119+
value for the protection key register and so will not be consistent with
120+
userspace's value of the register or mprotect().

Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,16 @@ properties:
6363
- const: sleep
6464

6565
power-domains:
66+
description: |
67+
The MediaTek DPI module is typically associated with one of the
68+
following multimedia power domains:
69+
POWER_DOMAIN_DISPLAY
70+
POWER_DOMAIN_VDOSYS
71+
POWER_DOMAIN_MM
72+
The specific power domain used varies depending on the SoC design.
73+
74+
It is recommended to explicitly add the appropriate power domain
75+
property to the DPI node in the device tree.
6676
maxItems: 1
6777

6878
port:
@@ -79,20 +89,6 @@ required:
7989
- clock-names
8090
- port
8191

82-
allOf:
83-
- if:
84-
not:
85-
properties:
86-
compatible:
87-
contains:
88-
enum:
89-
- mediatek,mt6795-dpi
90-
- mediatek,mt8173-dpi
91-
- mediatek,mt8186-dpi
92-
then:
93-
properties:
94-
power-domains: false
95-
9692
additionalProperties: false
9793

9894
examples:

Documentation/devicetree/bindings/display/mediatek/mediatek,split.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ properties:
3838
description: A phandle and PM domain specifier as defined by bindings of
3939
the power controller specified by phandle. See
4040
Documentation/devicetree/bindings/power/power-domain.yaml for details.
41+
maxItems: 1
4142

4243
mediatek,gce-client-reg:
4344
description:
@@ -57,6 +58,9 @@ properties:
5758
clocks:
5859
items:
5960
- description: SPLIT Clock
61+
- description: Used for interfacing with the HDMI RX signal source.
62+
- description: Paired with receiving HDMI RX metadata.
63+
minItems: 1
6064

6165
required:
6266
- compatible
@@ -72,9 +76,24 @@ allOf:
7276
const: mediatek,mt8195-mdp3-split
7377

7478
then:
79+
properties:
80+
clocks:
81+
minItems: 3
82+
7583
required:
7684
- mediatek,gce-client-reg
7785

86+
- if:
87+
properties:
88+
compatible:
89+
contains:
90+
const: mediatek,mt8173-disp-split
91+
92+
then:
93+
properties:
94+
clocks:
95+
maxItems: 1
96+
7897
additionalProperties: false
7998

8099
examples:

Documentation/devicetree/bindings/iio/adc/adi,ad7380.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ properties:
6767
A 2.5V to 3.3V supply for the external reference voltage. When omitted,
6868
the internal 2.5V reference is used.
6969

70+
refin-supply:
71+
description:
72+
A 2.5V to 3.3V supply for external reference voltage, for ad7380-4 only.
73+
7074
aina-supply:
7175
description:
7276
The common mode voltage supply for the AINA- pin on pseudo-differential
@@ -135,6 +139,23 @@ allOf:
135139
ainc-supply: false
136140
aind-supply: false
137141

142+
# ad7380-4 uses refin-supply as external reference.
143+
# All other chips from ad738x family use refio as optional external reference.
144+
# When refio-supply is omitted, internal reference is used.
145+
- if:
146+
properties:
147+
compatible:
148+
enum:
149+
- adi,ad7380-4
150+
then:
151+
properties:
152+
refio-supply: false
153+
required:
154+
- refin-supply
155+
else:
156+
properties:
157+
refin-supply: false
158+
138159
examples:
139160
- |
140161
#include <dt-bindings/interrupt-controller/irq.h>

Documentation/devicetree/bindings/iio/dac/adi,ad5686.yaml

Lines changed: 17 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,49 +4,30 @@
44
$id: http://devicetree.org/schemas/iio/dac/adi,ad5686.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Analog Devices AD5360 and similar DACs
7+
title: Analog Devices AD5360 and similar SPI DACs
88

99
maintainers:
1010
- Michael Hennerich <michael.hennerich@analog.com>
1111
- Jonathan Cameron <jic23@kernel.org>
1212

1313
properties:
1414
compatible:
15-
oneOf:
16-
- description: SPI devices
17-
enum:
18-
- adi,ad5310r
19-
- adi,ad5672r
20-
- adi,ad5674r
21-
- adi,ad5676
22-
- adi,ad5676r
23-
- adi,ad5679r
24-
- adi,ad5681r
25-
- adi,ad5682r
26-
- adi,ad5683
27-
- adi,ad5683r
28-
- adi,ad5684
29-
- adi,ad5684r
30-
- adi,ad5685r
31-
- adi,ad5686
32-
- adi,ad5686r
33-
- description: I2C devices
34-
enum:
35-
- adi,ad5311r
36-
- adi,ad5337r
37-
- adi,ad5338r
38-
- adi,ad5671r
39-
- adi,ad5675r
40-
- adi,ad5691r
41-
- adi,ad5692r
42-
- adi,ad5693
43-
- adi,ad5693r
44-
- adi,ad5694
45-
- adi,ad5694r
46-
- adi,ad5695r
47-
- adi,ad5696
48-
- adi,ad5696r
49-
15+
enum:
16+
- adi,ad5310r
17+
- adi,ad5672r
18+
- adi,ad5674r
19+
- adi,ad5676
20+
- adi,ad5676r
21+
- adi,ad5679r
22+
- adi,ad5681r
23+
- adi,ad5682r
24+
- adi,ad5683
25+
- adi,ad5683r
26+
- adi,ad5684
27+
- adi,ad5684r
28+
- adi,ad5685r
29+
- adi,ad5686
30+
- adi,ad5686r
5031

5132
reg:
5233
maxItems: 1

Documentation/devicetree/bindings/iio/dac/adi,ad5696.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
$id: http://devicetree.org/schemas/iio/dac/adi,ad5696.yaml#
55
$schema: http://devicetree.org/meta-schemas/core.yaml#
66

7-
title: Analog Devices AD5696 and similar multi-channel DACs
7+
title: Analog Devices AD5696 and similar I2C multi-channel DACs
88

99
maintainers:
1010
- Michael Auchter <michael.auchter@ni.com>
@@ -16,6 +16,7 @@ properties:
1616
compatible:
1717
enum:
1818
- adi,ad5311r
19+
- adi,ad5337r
1920
- adi,ad5338r
2021
- adi,ad5671r
2122
- adi,ad5675r

Documentation/devicetree/bindings/net/brcm,unimac-mdio.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ properties:
2626
- brcm,asp-v2.1-mdio
2727
- brcm,asp-v2.2-mdio
2828
- brcm,unimac-mdio
29+
- brcm,bcm6846-mdio
2930

3031
reg:
3132
minItems: 1

0 commit comments

Comments
 (0)