Skip to content

Commit 2f19464

Browse files
committed
Merge tag 'rproc-v5.1' of git://github.com/andersson/remoteproc
Pull remoteproc updates from Bjorn Andersson: "This contains the last patches in Loic's remoteproc resource table handling changes, a number of updates to documentation, support for invoking the crash handler (for testing purposes), a fix for the handling of virtio devices during recovery, performance state votes in Qualcomm modem driver, support for specifying board specific firmware path for Qualcomm modem driver and improved support for graceful shutdown of Qualcomm remoteprocs" * tag 'rproc-v5.1' of git://github.com/andersson/remoteproc: (33 commits) remoteproc: fix for "dma-mapping: remove the DMA_MEMORY_EXCLUSIVE flag" remoteproc: fix rproc_check_carveout_da() returned error and comments remoteproc: fix trace buffer va initialization remoteproc: fix rproc_alloc_carveout() for rproc with iommu domain remoteproc: add warning on resource table cast remoteproc: fix rproc_alloc_carveout() bad variable cast remoteproc: fix rproc_da_to_va in case of unallocated carveout remoteproc: correct rproc_mem_entry_init() comments remoteproc: fix recovery procedure rpmsg: virtio: change header file sort style rpmsg: virtio: allocate buffer from parent remoteproc: st: add reserved memory support remoteproc: create vdev subdevice with specific dma memory pool remoteproc: q6v5_adsp: Remove voting for lpass_aon clock dt-binding: remoteproc: Remove lpass_aon clock from adsp pil clock list remoteproc: q6v5-mss: Active powerdomain for SDM845 remoteproc: q6v5-mss: Vote for rpmh power domains remoteproc: qcom: Add support for parsing fw dt bindings remoteproc: qcom_q6v5: don't auto boot remote processor remoteproc: qcom: Wait for shutdown-ack/ind on sysmon shutdown ...
2 parents dc2535b + d664ce7 commit 2f19464

File tree

15 files changed

+706
-120
lines changed

15 files changed

+706
-120
lines changed

Documentation/devicetree/bindings/remoteproc/qcom,adsp-pil.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ on the Qualcomm Technology Inc. ADSP Hexagon core.
3535
Value type: <stringlist>
3636
Definition: List of clock input name strings sorted in the same
3737
order as the clocks property. Definition must have
38-
"xo", "sway_cbcr", "lpass_aon", "lpass_ahbs_aon_cbcr",
38+
"xo", "sway_cbcr", "lpass_ahbs_aon_cbcr",
3939
"lpass_ahbm_aon_cbcr", "qdsp6ss_xo", "qdsp6ss_sleep"
4040
and "qdsp6ss_core".
4141

@@ -100,13 +100,12 @@ ADSP, as it is found on SDM845 boards.
100100

101101
clocks = <&rpmhcc RPMH_CXO_CLK>,
102102
<&gcc GCC_LPASS_SWAY_CLK>,
103-
<&lpasscc LPASS_AUDIO_WRAPPER_AON_CLK>,
104103
<&lpasscc LPASS_Q6SS_AHBS_AON_CLK>,
105104
<&lpasscc LPASS_Q6SS_AHBM_AON_CLK>,
106105
<&lpasscc LPASS_QDSP6SS_XO_CLK>,
107106
<&lpasscc LPASS_QDSP6SS_SLEEP_CLK>,
108107
<&lpasscc LPASS_QDSP6SS_CORE_CLK>;
109-
clock-names = "xo", "sway_cbcr", "lpass_aon",
108+
clock-names = "xo", "sway_cbcr",
110109
"lpass_ahbs_aon_cbcr",
111110
"lpass_ahbm_aon_cbcr", "qdsp6ss_xo",
112111
"qdsp6ss_sleep", "qdsp6ss_core";

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

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,30 @@ on the Qualcomm ADSP Hexagon core.
1919
- interrupts-extended:
2020
Usage: required
2121
Value type: <prop-encoded-array>
22-
Definition: must list the watchdog, fatal IRQs ready, handover and
23-
stop-ack IRQs
22+
Definition: reference to the interrupts that match interrupt-names
2423

2524
- interrupt-names:
2625
Usage: required
2726
Value type: <stringlist>
28-
Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
27+
Definition: The interrupts needed depends on the compatible
28+
string:
29+
qcom,msm8974-adsp-pil:
30+
qcom,msm8996-adsp-pil:
31+
qcom,msm8996-slpi-pil:
32+
qcom,qcs404-adsp-pas:
33+
qcom,qcs404-cdsp-pas:
34+
qcom,sdm845-adsp-pas:
35+
qcom,sdm845-cdsp-pas:
36+
must be "wdog", "fatal", "ready", "handover", "stop-ack"
37+
qcom,qcs404-wcss-pas:
38+
must be "wdog", "fatal", "ready", "handover", "stop-ack",
39+
"shutdown-ack"
40+
41+
- firmware-name:
42+
Usage: optional
43+
Value type: <string>
44+
Definition: must list the relative firmware image path for the
45+
Hexagon Core.
2946

3047
- clocks:
3148
Usage: required

Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt

Lines changed: 73 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,24 +28,51 @@ on the Qualcomm Hexagon core.
2828
- interrupts-extended:
2929
Usage: required
3030
Value type: <prop-encoded-array>
31-
Definition: must list the watchdog, fatal IRQs ready, handover and
32-
stop-ack IRQs
31+
Definition: reference to the interrupts that match interrupt-names
3332

3433
- interrupt-names:
3534
Usage: required
3635
Value type: <stringlist>
37-
Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
36+
Definition: The interrupts needed depends on the the compatible
37+
string:
38+
qcom,q6v5-pil:
39+
qcom,ipq8074-wcss-pil:
40+
qcom,msm8916-mss-pil:
41+
qcom,msm8974-mss-pil:
42+
must be "wdog", "fatal", "ready", "handover", "stop-ack"
43+
qcom,msm8996-mss-pil:
44+
qcom,sdm845-mss-pil:
45+
must be "wdog", "fatal", "ready", "handover", "stop-ack",
46+
"shutdown-ack"
47+
48+
- firmware-name:
49+
Usage: optional
50+
Value type: <stringlist>
51+
Definition: must list the relative firmware image paths for mba and
52+
modem. They are used for booting and authenticating the
53+
Hexagon core.
3854

3955
- clocks:
4056
Usage: required
4157
Value type: <phandle>
42-
Definition: reference to the iface, bus and mem clocks to be held on
43-
behalf of the booting of the Hexagon core
58+
Definition: reference to the clocks that match clock-names
4459

4560
- clock-names:
4661
Usage: required
4762
Value type: <stringlist>
48-
Definition: must be "iface", "bus", "mem"
63+
Definition: The clocks needed depend on the compatible string:
64+
qcom,ipq8074-wcss-pil:
65+
no clock names required
66+
qcom,q6v5-pil:
67+
qcom,msm8916-mss-pil:
68+
qcom,msm8974-mss-pil:
69+
must be "iface", "bus", "mem", "xo"
70+
qcom,msm8996-mss-pil:
71+
must be "iface", "bus", "mem", "xo", "gpll0_mss",
72+
"snoc_axi", "mnoc_axi", "pnoc", "qdss"
73+
qcom,sdm845-mss-pil:
74+
must be "iface", "bus", "mem", "xo", "gpll0_mss",
75+
"snoc_axi", "mnoc_axi", "prng"
4976

5077
- resets:
5178
Usage: required
@@ -65,6 +92,19 @@ on the Qualcomm Hexagon core.
6592
must be "mss_restart", "pdc_reset" for the modem
6693
sub-system on SDM845 SoCs
6794

95+
For the compatible strings below the following supplies are required:
96+
"qcom,q6v5-pil"
97+
"qcom,msm8916-mss-pil",
98+
- cx-supply:
99+
- mx-supply:
100+
- pll-supply:
101+
Usage: required
102+
Value type: <phandle>
103+
Definition: reference to the regulators to be held on behalf of the
104+
booting of the Hexagon core
105+
106+
For the compatible string below the following supplies are required:
107+
"qcom,msm8974-mss-pil"
68108
- cx-supply:
69109
- mss-supply:
70110
- mx-supply:
@@ -74,6 +114,33 @@ on the Qualcomm Hexagon core.
74114
Definition: reference to the regulators to be held on behalf of the
75115
booting of the Hexagon core
76116

117+
For the compatible string below the following supplies are required:
118+
"qcom,msm8996-mss-pil"
119+
- pll-supply:
120+
Usage: required
121+
Value type: <phandle>
122+
Definition: reference to the regulators to be held on behalf of the
123+
booting of the Hexagon core
124+
125+
- power-domains:
126+
Usage: required
127+
Value type: <phandle>
128+
Definition: reference to power-domains that match power-domain-names
129+
130+
- power-domain-names:
131+
Usage: required
132+
Value type: <stringlist>
133+
Definition: The power-domains needed depend on the compatible string:
134+
qcom,q6v5-pil:
135+
qcom,ipq8074-wcss-pil:
136+
qcom,msm8916-mss-pil:
137+
qcom,msm8974-mss-pil:
138+
no power-domain names required
139+
qcom,msm8996-mss-pil:
140+
must be "cx", "mx"
141+
qcom,sdm845-mss-pil:
142+
must be "cx", "mx", "mss", "load_state"
143+
77144
- qcom,smem-states:
78145
Usage: required
79146
Value type: <phandle>

drivers/remoteproc/qcom_q6v5_adsp.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848

4949
/* list of clocks required by ADSP PIL */
5050
static const char * const adsp_clk_id[] = {
51-
"sway_cbcr", "lpass_aon", "lpass_ahbs_aon_cbcr", "lpass_ahbm_aon_cbcr",
51+
"sway_cbcr", "lpass_ahbs_aon_cbcr", "lpass_ahbm_aon_cbcr",
5252
"qdsp6ss_xo", "qdsp6ss_sleep", "qdsp6ss_core",
5353
};
5454

@@ -439,6 +439,10 @@ static int adsp_probe(struct platform_device *pdev)
439439
adsp->sysmon = qcom_add_sysmon_subdev(rproc,
440440
desc->sysmon_name,
441441
desc->ssctl_id);
442+
if (IS_ERR(adsp->sysmon)) {
443+
ret = PTR_ERR(adsp->sysmon);
444+
goto disable_pm;
445+
}
442446

443447
ret = rproc_add(rproc);
444448
if (ret)

0 commit comments

Comments
 (0)