Skip to content

Commit 6f3ee0e

Browse files
committed
Merge tag 'irqchip-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/core
Pull irqchip updates from Marc Zyngier: - New and improved irqdomain locking, closing a number of races that became apparent now that we are able to probe drivers in parallel - A bunch of OF node refcounting bugs have been fixed - We now have a new IPI mux, lifted from the Apple AIC code and made common. It is expected that riscv will eventually benefit from it - Two small fixes for the Broadcom L2 drivers - Various cleanups and minor bug fixes Link: https://lore.kernel.org/r/[email protected]
2 parents 188a569 + a83bf17 commit 6f3ee0e

File tree

410 files changed

+5085
-4481
lines changed

Some content is hidden

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

410 files changed

+5085
-4481
lines changed

.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ Tony Luck <[email protected]>
422422
423423
424424
Tsuneo Yoshioka <[email protected]>
425+
425426
426427
427428
Uwe Kleine-König <[email protected]>

Documentation/arm64/silicon-errata.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ stable kernels.
120120
+----------------+-----------------+-----------------+-----------------------------+
121121
| ARM | Cortex-A710 | #2224489 | ARM64_ERRATUM_2224489 |
122122
+----------------+-----------------+-----------------+-----------------------------+
123+
| ARM | Cortex-A715 | #2645198 | ARM64_ERRATUM_2645198 |
124+
+----------------+-----------------+-----------------+-----------------------------+
123125
| ARM | Cortex-X2 | #2119858 | ARM64_ERRATUM_2119858 |
124126
+----------------+-----------------+-----------------+-----------------------------+
125127
| ARM | Cortex-X2 | #2224489 | ARM64_ERRATUM_2224489 |

Documentation/conf.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ def have_command(cmd):
3131
# Get Sphinx version
3232
major, minor, patch = sphinx.version_info[:3]
3333

34+
#
35+
# Warn about older versions that we don't want to support for much
36+
# longer.
37+
#
38+
if (major < 2) or (major == 2 and minor < 4):
39+
print('WARNING: support for Sphinx < 2.4 will be removed soon.')
3440

3541
# If extensions (or modules to document with autodoc) are in another directory,
3642
# add these directories to sys.path here. If the directory is relative to the
@@ -339,7 +345,11 @@ def get_cline_version():
339345

340346
# Custom sidebar templates, maps document names to template names.
341347
# Note that the RTD theme ignores this
342-
html_sidebars = { '**': ["about.html", 'searchbox.html', 'localtoc.html', 'sourcelink.html']}
348+
html_sidebars = { '**': ['searchbox.html', 'localtoc.html', 'sourcelink.html']}
349+
350+
# about.html is available for alabaster theme. Add it at the front.
351+
if html_theme == 'alabaster':
352+
html_sidebars['**'].insert(0, 'about.html')
343353

344354
# Output file base name for HTML help builder.
345355
htmlhelp_basename = 'TheLinuxKerneldoc'

Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,17 @@ properties:
5454
- const: xo
5555
- const: alternate
5656

57+
interrupts:
58+
minItems: 1
59+
maxItems: 3
60+
61+
interrupt-names:
62+
minItems: 1
63+
items:
64+
- const: dcvsh-irq-0
65+
- const: dcvsh-irq-1
66+
- const: dcvsh-irq-2
67+
5768
'#freq-domain-cells':
5869
const: 1
5970

Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-aes.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
88
title: Atmel Advanced Encryption Standard (AES) HW cryptographic accelerator
99

1010
maintainers:
11-
- Tudor Ambarus <tudor.ambarus@microchip.com>
11+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1212

1313
properties:
1414
compatible:

Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-sha.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
88
title: Atmel Secure Hash Algorithm (SHA) HW cryptographic accelerator
99

1010
maintainers:
11-
- Tudor Ambarus <tudor.ambarus@microchip.com>
11+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1212

1313
properties:
1414
compatible:

Documentation/devicetree/bindings/crypto/atmel,at91sam9g46-tdes.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
88
title: Atmel Triple Data Encryption Standard (TDES) HW cryptographic accelerator
99

1010
maintainers:
11-
- Tudor Ambarus <tudor.ambarus@microchip.com>
11+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1212

1313
properties:
1414
compatible:

Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ properties:
3232
- description: Display byte clock
3333
- description: Display byte interface clock
3434
- description: Display pixel clock
35-
- description: Display escape clock
35+
- description: Display core clock
3636
- description: Display AHB clock
3737
- description: Display AXI clock
3838

@@ -137,8 +137,6 @@ required:
137137
- phys
138138
- assigned-clocks
139139
- assigned-clock-parents
140-
- power-domains
141-
- operating-points-v2
142140
- ports
143141

144142
additionalProperties: false

Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ required:
6969
- compatible
7070
- reg
7171
- reg-names
72-
- vdds-supply
7372

7473
unevaluatedProperties: false
7574

Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ required:
3939
- compatible
4040
- reg
4141
- reg-names
42-
- vcca-supply
4342

4443
unevaluatedProperties: false
4544

Documentation/devicetree/bindings/display/msm/dsi-phy-28nm.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ properties:
3434
vddio-supply:
3535
description: Phandle to vdd-io regulator device node.
3636

37+
qcom,dsi-phy-regulator-ldo-mode:
38+
type: boolean
39+
description: Indicates if the LDO mode PHY regulator is wanted.
40+
3741
required:
3842
- compatible
3943
- reg

Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ examples:
7272
#include <dt-bindings/interconnect/qcom,qcm2290.h>
7373
#include <dt-bindings/power/qcom-rpmpd.h>
7474
75-
mdss@5e00000 {
75+
display-subsystem@5e00000 {
7676
#address-cells = <1>;
7777
#size-cells = <1>;
7878
compatible = "qcom,qcm2290-mdss";

Documentation/devicetree/bindings/display/msm/qcom,sm6115-mdss.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ examples:
6262
#include <dt-bindings/interrupt-controller/arm-gic.h>
6363
#include <dt-bindings/power/qcom-rpmpd.h>
6464
65-
mdss@5e00000 {
65+
display-subsystem@5e00000 {
6666
#address-cells = <1>;
6767
#size-cells = <1>;
6868
compatible = "qcom,sm6115-mdss";

Documentation/devicetree/bindings/sound/mt8186-mt6366-rt1019-rt5682s.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ properties:
1616
compatible:
1717
enum:
1818
- mediatek,mt8186-mt6366-rt1019-rt5682s-sound
19+
- mediatek,mt8186-mt6366-rt5682s-max98360-sound
1920

2021
mediatek,platform:
2122
$ref: "/schemas/types.yaml#/definitions/phandle"

Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ properties:
3030
const: 0
3131

3232
clocks:
33-
maxItems: 5
33+
oneOf:
34+
- maxItems: 3
35+
- maxItems: 5
3436

3537
clock-names:
3638
oneOf:

Documentation/devicetree/bindings/sound/qcom,lpass-wsa-macro.yaml

Lines changed: 47 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@ title: LPASS(Low Power Audio Subsystem) VA Macro audio codec
99
maintainers:
1010
- Srinivas Kandagatla <[email protected]>
1111

12-
allOf:
13-
- $ref: dai-common.yaml#
14-
1512
properties:
1613
compatible:
1714
enum:
@@ -30,15 +27,12 @@ properties:
3027
const: 0
3128

3229
clocks:
33-
maxItems: 5
30+
minItems: 5
31+
maxItems: 6
3432

3533
clock-names:
36-
items:
37-
- const: mclk
38-
- const: npl
39-
- const: macro
40-
- const: dcodec
41-
- const: fsgen
34+
minItems: 5
35+
maxItems: 6
4236

4337
clock-output-names:
4438
maxItems: 1
@@ -55,10 +49,51 @@ required:
5549
- reg
5650
- "#sound-dai-cells"
5751

52+
allOf:
53+
- $ref: dai-common.yaml#
54+
55+
- if:
56+
properties:
57+
compatible:
58+
enum:
59+
- qcom,sc7280-lpass-wsa-macro
60+
- qcom,sm8450-lpass-wsa-macro
61+
- qcom,sc8280xp-lpass-wsa-macro
62+
then:
63+
properties:
64+
clocks:
65+
maxItems: 5
66+
clock-names:
67+
items:
68+
- const: mclk
69+
- const: npl
70+
- const: macro
71+
- const: dcodec
72+
- const: fsgen
73+
74+
- if:
75+
properties:
76+
compatible:
77+
enum:
78+
- qcom,sm8250-lpass-wsa-macro
79+
then:
80+
properties:
81+
clocks:
82+
minItems: 6
83+
clock-names:
84+
items:
85+
- const: mclk
86+
- const: npl
87+
- const: macro
88+
- const: dcodec
89+
- const: va
90+
- const: fsgen
91+
5892
unevaluatedProperties: false
5993

6094
examples:
6195
- |
96+
#include <dt-bindings/clock/qcom,sm8250-lpass-aoncc.h>
6297
#include <dt-bindings/sound/qcom,q6afe.h>
6398
codec@3240000 {
6499
compatible = "qcom,sm8250-lpass-wsa-macro";
@@ -69,7 +104,8 @@ examples:
69104
<&audiocc 0>,
70105
<&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
71106
<&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
107+
<&aoncc LPASS_CDC_VA_MCLK>,
72108
<&vamacro>;
73-
clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
109+
clock-names = "mclk", "npl", "macro", "dcodec", "va", "fsgen";
74110
clock-output-names = "mclk";
75111
};

Documentation/devicetree/bindings/spi/atmel,at91rm9200-spi.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
88
title: Atmel SPI device
99

1010
maintainers:
11-
- Tudor Ambarus <tudor.ambarus@microchip.com>
11+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1212

1313
allOf:
1414
- $ref: spi-controller.yaml#

Documentation/devicetree/bindings/spi/atmel,quadspi.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
77
title: Atmel Quad Serial Peripheral Interface (QSPI)
88

99
maintainers:
10-
- Tudor Ambarus <tudor.ambarus@microchip.com>
10+
- Tudor Ambarus <tudor.ambarus@linaro.org>
1111

1212
allOf:
1313
- $ref: spi-controller.yaml#

Documentation/devicetree/bindings/spi/spi-peripheral-props.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ properties:
4444
description:
4545
Maximum SPI clocking speed of the device in Hz.
4646

47-
spi-cs-setup-ns:
47+
spi-cs-setup-delay-ns:
4848
description:
49-
Delay in nanosecods to be introduced by the controller after CS is
49+
Delay in nanoseconds to be introduced by the controller after CS is
5050
asserted.
5151

5252
spi-rx-bus-width:

Documentation/networking/rxrpc.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -880,8 +880,8 @@ The kernel interface functions are as follows:
880880

881881
notify_end_rx can be NULL or it can be used to specify a function to be
882882
called when the call changes state to end the Tx phase. This function is
883-
called with the call-state spinlock held to prevent any reply or final ACK
884-
from being delivered first.
883+
called with a spinlock held to prevent the last DATA packet from being
884+
transmitted until the function returns.
885885

886886
(#) Receive data from a call::
887887

Documentation/sphinx/load_config.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
import os
55
import sys
6-
from sphinx.util.pycompat import execfile_
6+
from sphinx.util.osutil import fs_encoding
77

88
# ------------------------------------------------------------------------------
99
def loadConfig(namespace):
@@ -48,7 +48,9 @@ def loadConfig(namespace):
4848
sys.stdout.write("load additional sphinx-config: %s\n" % config_file)
4949
config = namespace.copy()
5050
config['__file__'] = config_file
51-
execfile_(config_file, config)
51+
with open(config_file, 'rb') as f:
52+
code = compile(f.read(), fs_encoding, 'exec')
53+
exec(code, config)
5254
del config['__file__']
5355
namespace.update(config)
5456
else:

Documentation/virt/kvm/api.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1354,6 +1354,14 @@ the memory region are automatically reflected into the guest. For example, an
13541354
mmap() that affects the region will be made visible immediately. Another
13551355
example is madvise(MADV_DROP).
13561356

1357+
Note: On arm64, a write generated by the page-table walker (to update
1358+
the Access and Dirty flags, for example) never results in a
1359+
KVM_EXIT_MMIO exit when the slot has the KVM_MEM_READONLY flag. This
1360+
is because KVM cannot provide the data that would be written by the
1361+
page-table walker, making it impossible to emulate the access.
1362+
Instead, an abort (data abort if the cause of the page-table update
1363+
was a load or a store, instruction abort if it was an instruction
1364+
fetch) is injected in the guest.
13571365

13581366
4.36 KVM_SET_TSS_ADDR
13591367
---------------------
@@ -8310,6 +8318,20 @@ CPU[EAX=1]:ECX[24] (TSC_DEADLINE) is not reported by ``KVM_GET_SUPPORTED_CPUID``
83108318
It can be enabled if ``KVM_CAP_TSC_DEADLINE_TIMER`` is present and the kernel
83118319
has enabled in-kernel emulation of the local APIC.
83128320

8321+
CPU topology
8322+
~~~~~~~~~~~~
8323+
8324+
Several CPUID values include topology information for the host CPU:
8325+
0x0b and 0x1f for Intel systems, 0x8000001e for AMD systems. Different
8326+
versions of KVM return different values for this information and userspace
8327+
should not rely on it. Currently they return all zeroes.
8328+
8329+
If userspace wishes to set up a guest topology, it should be careful that
8330+
the values of these three leaves differ for each CPU. In particular,
8331+
the APIC ID is found in EDX for all subleaves of 0x0b and 0x1f, and in EAX
8332+
for 0x8000001e; the latter also encodes the core id and node id in bits
8333+
7:0 of EBX and ECX respectively.
8334+
83138335
Obsolete ioctls and capabilities
83148336
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
83158337

Documentation/virt/kvm/locking.rst

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,22 @@ The acquisition orders for mutexes are as follows:
2424

2525
For SRCU:
2626

27-
- ``synchronize_srcu(&kvm->srcu)`` is called _inside_
28-
the kvm->slots_lock critical section, therefore kvm->slots_lock
29-
cannot be taken inside a kvm->srcu read-side critical section.
30-
Instead, kvm->slots_arch_lock is released before the call
31-
to ``synchronize_srcu()`` and _can_ be taken inside a
32-
kvm->srcu read-side critical section.
33-
34-
- kvm->lock is taken inside kvm->srcu, therefore
35-
``synchronize_srcu(&kvm->srcu)`` cannot be called inside
36-
a kvm->lock critical section. If you cannot delay the
37-
call until after kvm->lock is released, use ``call_srcu``.
27+
- ``synchronize_srcu(&kvm->srcu)`` is called inside critical sections
28+
for kvm->lock, vcpu->mutex and kvm->slots_lock. These locks _cannot_
29+
be taken inside a kvm->srcu read-side critical section; that is, the
30+
following is broken::
31+
32+
srcu_read_lock(&kvm->srcu);
33+
mutex_lock(&kvm->slots_lock);
34+
35+
- kvm->slots_arch_lock instead is released before the call to
36+
``synchronize_srcu()``. It _can_ therefore be taken inside a
37+
kvm->srcu read-side critical section, for example while processing
38+
a vmexit.
3839

3940
On x86:
4041

41-
- vcpu->mutex is taken outside kvm->arch.hyperv.hv_lock
42+
- vcpu->mutex is taken outside kvm->arch.hyperv.hv_lock and kvm->arch.xen.xen_lock
4243

4344
- kvm->arch.mmu_lock is an rwlock. kvm->arch.tdp_mmu_pages_lock and
4445
kvm->arch.mmu_unsync_pages_lock are taken inside kvm->arch.mmu_lock, and

0 commit comments

Comments
 (0)