Skip to content

Commit 5d5d353

Browse files
committed
Merge tag 'rproc-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux
Pull remoteproc updates from Bjorn Andersson: "This introduces support for the remoteproc on Mediatek MT8188, and enables caches for MT8186 SCP. It adds support for PRU cores found on the TI K3 AM62x SoCs. It moves the recovery work after a firmware crash to an unbound workqueue, to allow recovery to happen in parallel. A new DMA API is introduced to release dma_mem for a device. It adds support a panic handler for the Qualcomm modem remoteproc, with the goal of having caches flushed in memory dumps for post-mortem debugging and it introduces a mechanism to wait for the modem firmware on SM8450 to decrypt part of its memory for post-mortem debugging. Qualcomm sysmon is restricted to only inform remote processors about peers that are actually running, to avoid a race where Linux tries to notify a recovering remote processor about its peers new state. A mechanism for waiting for the sysmon connection to be established is also introduced, to avoid out-of-sync updates for rapidly restarting remote processors. A number of Devicetree binding cleanups and conversions to YAML are introduced, to facilitate Devicetree validation. Lastly it introduces a number of smaller fixes and cleanups in the core and a few different drivers" * tag 'rproc-v5.20' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux: (42 commits) remoteproc: qcom_q6v5_pas: Do not fail if regulators are not found drivers/remoteproc: fix repeated words in comments remoteproc: Directly use ida_alloc()/free() remoteproc: Use unbounded workqueue for recovery work remoteproc: using pm_runtime_resume_and_get instead of pm_runtime_get_sync remoteproc: qcom_q6v5_pas: Deal silently with optional px and cx regulators remoteproc: sysmon: Send sysmon state only for running rprocs remoteproc: sysmon: Wait for SSCTL service to come up remoteproc: qcom: q6v5: Set q6 state to offline on receiving wdog irq remoteproc: qcom: pas: Check if coredump is enabled remoteproc: qcom: pas: Mark devices as wakeup capable remoteproc: qcom: pas: Mark va as io memory remoteproc: qcom: pas: Add decrypt shutdown support for modem remoteproc: qcom: q6v5-mss: add powerdomains to MSM8996 config remoteproc: qcom_q6v5: Introduce panic handler for MSS remoteproc: qcom_q6v5_mss: Update MBA log info remoteproc: qcom: correct kerneldoc remoteproc: qcom_q6v5_mss: map/unmap metadata region before/after use remoteproc: qcom: using pm_runtime_resume_and_get to simplify the code remoteproc: mediatek: Support MT8188 SCP ...
2 parents c726876 + 8447d0e commit 5d5d353

28 files changed

+958
-227
lines changed

Documentation/devicetree/bindings/remoteproc/mtk,scp.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ properties:
1818
enum:
1919
- mediatek,mt8183-scp
2020
- mediatek,mt8186-scp
21+
- mediatek,mt8188-scp
2122
- mediatek,mt8192-scp
2223
- mediatek,mt8195-scp
2324

@@ -80,6 +81,7 @@ allOf:
8081
enum:
8182
- mediatek,mt8183-scp
8283
- mediatek,mt8186-scp
84+
- mediatek,mt8188-scp
8385
then:
8486
properties:
8587
reg:

Documentation/devicetree/bindings/remoteproc/qcom,adsp.yaml

Lines changed: 28 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,28 @@ properties:
6767
minItems: 1
6868
maxItems: 8
6969

70+
interconnects:
71+
maxItems: 1
72+
7073
interrupts:
7174
minItems: 5
72-
maxItems: 6
75+
items:
76+
- description: Watchdog interrupt
77+
- description: Fatal interrupt
78+
- description: Ready interrupt
79+
- description: Handover interrupt
80+
- description: Stop acknowledge interrupt
81+
- description: Shutdown acknowledge interrupt
7382

7483
interrupt-names:
7584
minItems: 5
76-
maxItems: 6
85+
items:
86+
- const: wdog
87+
- const: fatal
88+
- const: ready
89+
- const: handover
90+
- const: stop-ack
91+
- const: shutdown-ack
7792

7893
resets:
7994
minItems: 1
@@ -116,7 +131,6 @@ properties:
116131
- description: Stop the modem
117132

118133
qcom,smem-state-names:
119-
$ref: /schemas/types.yaml#/definitions/string-array
120134
description: The names of the state bits used for SMP2P output
121135
items:
122136
- const: stop
@@ -134,13 +148,13 @@ properties:
134148
three offsets within syscon for q6, modem and nc halt registers.
135149

136150
smd-edge:
137-
type: object
151+
$ref: /schemas/remoteproc/qcom,smd-edge.yaml#
138152
description:
139153
Qualcomm Shared Memory subnode which represents communication edge,
140154
channels and devices related to the ADSP.
141155

142156
glink-edge:
143-
type: object
157+
$ref: /schemas/remoteproc/qcom,glink-edge.yaml#
144158
description:
145159
Qualcomm G-Link subnode which represents communication edge, channels
146160
and devices related to the ADSP.
@@ -315,19 +329,9 @@ allOf:
315329
then:
316330
properties:
317331
interrupts:
318-
items:
319-
- description: Watchdog interrupt
320-
- description: Fatal interrupt
321-
- description: Ready interrupt
322-
- description: Handover interrupt
323-
- description: Stop acknowledge interrupt
332+
maxItems: 5
324333
interrupt-names:
325-
items:
326-
- const: wdog
327-
- const: fatal
328-
- const: ready
329-
- const: handover
330-
- const: stop-ack
334+
maxItems: 5
331335

332336
- if:
333337
properties:
@@ -345,21 +349,9 @@ allOf:
345349
then:
346350
properties:
347351
interrupts:
348-
items:
349-
- description: Watchdog interrupt
350-
- description: Fatal interrupt
351-
- description: Ready interrupt
352-
- description: Handover interrupt
353-
- description: Stop acknowledge interrupt
354-
- description: Shutdown acknowledge interrupt
352+
minItems: 6
355353
interrupt-names:
356-
items:
357-
- const: wdog
358-
- const: fatal
359-
- const: ready
360-
- const: handover
361-
- const: stop-ack
362-
- const: shutdown-ack
354+
minItems: 6
363355

364356
- if:
365357
properties:
@@ -379,6 +371,8 @@ allOf:
379371
- qcom,msm8226-adsp-pil
380372
- qcom,msm8996-adsp-pil
381373
- qcom,msm8998-adsp-pas
374+
- qcom,sm8150-adsp-pas
375+
- qcom,sm8150-cdsp-pas
382376
then:
383377
properties:
384378
power-domains:
@@ -442,19 +436,6 @@ allOf:
442436
- const: cx
443437
- const: mx
444438

445-
- if:
446-
properties:
447-
compatible:
448-
contains:
449-
enum:
450-
- qcom,sm8150-adsp-pas
451-
- qcom,sm8150-cdsp-pas
452-
then:
453-
properties:
454-
power-domains:
455-
items:
456-
- description: CX power domain
457-
458439
- if:
459440
properties:
460441
compatible:
@@ -594,11 +575,12 @@ allOf:
594575
examples:
595576
- |
596577
#include <dt-bindings/clock/qcom,rpmcc.h>
578+
#include <dt-bindings/interrupt-controller/arm-gic.h>
597579
#include <dt-bindings/interrupt-controller/irq.h>
598580
adsp {
599581
compatible = "qcom,msm8974-adsp-pil";
600582
601-
interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
583+
interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
602584
<&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
603585
<&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
604586
<&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
@@ -620,7 +602,7 @@ examples:
620602
qcom,smem-state-names = "stop";
621603
622604
smd-edge {
623-
interrupts = <0 156 IRQ_TYPE_EDGE_RISING>;
605+
interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
624606
625607
qcom,ipc = <&apcs 8 8>;
626608
qcom,smd-edge = <1>;
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/remoteproc/qcom,glink-edge.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Qualcomm G-Link Edge communication channel nodes
8+
9+
maintainers:
10+
- Bjorn Andersson <[email protected]>
11+
12+
description:
13+
Qualcomm G-Link subnode represents communication edge, channels and devices
14+
related to the remote processor.
15+
16+
properties:
17+
$nodename:
18+
const: "glink-edge"
19+
20+
apr:
21+
$ref: /schemas/soc/qcom/qcom,apr.yaml#
22+
description:
23+
Qualcomm APR/GPR (Asynchronous/Generic Packet Router)
24+
25+
fastrpc:
26+
type: object
27+
description:
28+
See Documentation/devicetree/bindings/misc/qcom,fastrpc.txt
29+
30+
interrupts:
31+
maxItems: 1
32+
33+
label:
34+
description: The names of the state bits used for SMP2P output
35+
36+
mboxes:
37+
maxItems: 1
38+
39+
qcom,remote-pid:
40+
$ref: /schemas/types.yaml#/definitions/uint32
41+
description:
42+
ID of the shared memory used by GLINK for communication with remote
43+
processor.
44+
45+
required:
46+
- interrupts
47+
- label
48+
- mboxes
49+
- qcom,remote-pid
50+
51+
additionalProperties: false
52+
53+
examples:
54+
- |
55+
#include <dt-bindings/interrupt-controller/arm-gic.h>
56+
#include <dt-bindings/mailbox/qcom-ipcc.h>
57+
58+
remoteproc@8a00000 {
59+
reg = <0x08a00000 0x10000>;
60+
// ...
61+
62+
glink-edge {
63+
interrupts-extended = <&ipcc IPCC_CLIENT_WPSS
64+
IPCC_MPROC_SIGNAL_GLINK_QMP
65+
IRQ_TYPE_EDGE_RISING>;
66+
mboxes = <&ipcc IPCC_CLIENT_WPSS
67+
IPCC_MPROC_SIGNAL_GLINK_QMP>;
68+
69+
label = "wpss";
70+
qcom,remote-pid = <13>;
71+
};
72+
};

0 commit comments

Comments
 (0)