Skip to content

Commit 6d67480

Browse files
committed
Merge tag 'qcom-drivers-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers
Qualcomm driver updates for v6.12 Support is added for making SCM driver configure the system either for a full or minimal ramdump following a system crash. The ramdump mode is changed from being enable-only to enable/disable as requested. The QSEECOM uefisecapp interface is allow-listed on Surface Laptop 7 and Lenovo Thinkpad T14s, providing EFI variable access. The change to match the SMD RPM driver based on the SMD channel name is reverted, in favor of stepping back to OF-based matching, as a means to get module autoloading to work properly. AOSS, APR, ICE, OCMEM, PBS and SMP2P drivers has error handling cleaned up using scoped resources. Trace events are added to the BWMON and SMP2P drivers, for better insights into their operations. The X1E LLCC configuration data is updated based on recommended values. A number of platforms are added to the in-kernel PD-mapper. SocInfo driver is extended with IDs from SM7325, QCS8275 and QCS8300 families. * tag 'qcom-drivers-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (33 commits) firmware: qcom: scm: Allow QSEECOM on Surface Laptop 7 models dt-bindings: soc: qcom: qcom,pmic-glink: Document SM7325 compatible soc: qcom: pd_mapper: Add SM7325 compatible soc: qcom: socinfo: Add Soc IDs for SM7325 family dt-bindings: arm: qcom,ids: Add IDs for SM7325 family soc: qcom: socinfo: add QCS8275/QCS8300 SoC ID dt-bindings: arm: qcom,ids: add SoC ID for QCS8275/QCS8300 soc: qcom: smp2p: use scoped device node handling to simplify error paths soc: qcom: pbs: use scoped device node handling to simplify error paths soc: qcom: ocmem: use scoped device node handling to simplify error paths soc: qcom: ice: use scoped device node handling to simplify error paths soc: qcom: aoss: simplify with scoped for each OF child loop soc: qcom: apr: simplify with scoped for each OF child loop soc: qcom: smd-rpm: add qcom,smd-rpm compatible dt-bindings: soc: qcom: smd-rpm: add generic compatibles Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible" firmware: qcom: scm: Add multiple download mode support firmware: qcom: scm: Refactor code to support multiple dload mode soc: qcom: pd_mapper: Add more older platforms without domains soc: qcom: pd_mapper: Add X1E80100 ... Link: https://lore.kernel.org/r/20240904193042.15118-1-andersson@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 3b42530 + 6614be0 commit 6d67480

30 files changed

Lines changed: 386 additions & 204 deletions

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,8 @@ Kenneth Westfield <quic_kwestfie@quicinc.com> <kwestfie@codeaurora.org>
354354
Kiran Gunda <quic_kgunda@quicinc.com> <kgunda@codeaurora.org>
355355
Kirill Tkhai <tkhai@ya.ru> <ktkhai@virtuozzo.com>
356356
Kishon Vijay Abraham I <kishon@kernel.org> <kishon@ti.com>
357+
Konrad Dybcio <konradybcio@kernel.org> <konrad.dybcio@linaro.org>
358+
Konrad Dybcio <konradybcio@kernel.org> <konrad.dybcio@somainline.org>
357359
Konstantin Khlebnikov <koct9i@gmail.com> <khlebnikov@yandex-team.ru>
358360
Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
359361
Koushik <raghavendra.koushik@neterion.com>

Documentation/devicetree/bindings/clock/qcom,rpmcc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ examples:
139139
- |
140140
rpm {
141141
rpm-requests {
142-
compatible = "qcom,rpm-msm8916";
142+
compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
143143
qcom,smd-channels = "rpm_requests";
144144
145145
clock-controller {

Documentation/devicetree/bindings/remoteproc/qcom,glink-rpm-edge.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ examples:
9090
qcom,rpm-msg-ram = <&rpm_msg_ram>;
9191
9292
rpm-requests {
93-
compatible = "qcom,rpm-msm8996";
93+
compatible = "qcom,rpm-msm8996", "qcom,glink-smd-rpm";
9494
qcom,glink-channels = "rpm_requests";
9595
9696
/* ... */

Documentation/devicetree/bindings/remoteproc/qcom,rpm-proc.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ examples:
142142
qcom,smd-edge = <15>;
143143
144144
rpm-requests {
145-
compatible = "qcom,rpm-msm8916";
145+
compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
146146
qcom,smd-channels = "rpm_requests";
147147
/* ... */
148148
};
@@ -163,7 +163,7 @@ examples:
163163
mboxes = <&apcs_glb 0>;
164164
165165
rpm-requests {
166-
compatible = "qcom,rpm-qcm2290";
166+
compatible = "qcom,rpm-qcm2290", "qcom,glink-smd-rpm";
167167
qcom,glink-channels = "rpm_requests";
168168
/* ... */
169169
};

Documentation/devicetree/bindings/soc/qcom/qcom,pmic-glink.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ properties:
3030
- qcom,sm8450-pmic-glink
3131
- qcom,sm8550-pmic-glink
3232
- const: qcom,pmic-glink
33+
- items:
34+
- enum:
35+
- qcom,sm7325-pmic-glink
36+
- const: qcom,qcm6490-pmic-glink
37+
- const: qcom,pmic-glink
3338
- items:
3439
- enum:
3540
- qcom,sm8650-pmic-glink

Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml

Lines changed: 33 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -30,31 +30,37 @@ maintainers:
3030

3131
properties:
3232
compatible:
33-
enum:
34-
- qcom,rpm-apq8084
35-
- qcom,rpm-ipq6018
36-
- qcom,rpm-ipq9574
37-
- qcom,rpm-mdm9607
38-
- qcom,rpm-msm8226
39-
- qcom,rpm-msm8610
40-
- qcom,rpm-msm8909
41-
- qcom,rpm-msm8916
42-
- qcom,rpm-msm8917
43-
- qcom,rpm-msm8936
44-
- qcom,rpm-msm8937
45-
- qcom,rpm-msm8952
46-
- qcom,rpm-msm8953
47-
- qcom,rpm-msm8974
48-
- qcom,rpm-msm8976
49-
- qcom,rpm-msm8994
50-
- qcom,rpm-msm8996
51-
- qcom,rpm-msm8998
52-
- qcom,rpm-qcm2290
53-
- qcom,rpm-qcs404
54-
- qcom,rpm-sdm660
55-
- qcom,rpm-sm6115
56-
- qcom,rpm-sm6125
57-
- qcom,rpm-sm6375
33+
oneOf:
34+
- items:
35+
- enum:
36+
- qcom,rpm-apq8084
37+
- qcom,rpm-mdm9607
38+
- qcom,rpm-msm8226
39+
- qcom,rpm-msm8610
40+
- qcom,rpm-msm8909
41+
- qcom,rpm-msm8916
42+
- qcom,rpm-msm8917
43+
- qcom,rpm-msm8936
44+
- qcom,rpm-msm8937
45+
- qcom,rpm-msm8952
46+
- qcom,rpm-msm8953
47+
- qcom,rpm-msm8974
48+
- qcom,rpm-msm8976
49+
- qcom,rpm-msm8994
50+
- const: qcom,smd-rpm
51+
- items:
52+
- enum:
53+
- qcom,rpm-ipq6018
54+
- qcom,rpm-ipq9574
55+
- qcom,rpm-msm8996
56+
- qcom,rpm-msm8998
57+
- qcom,rpm-qcm2290
58+
- qcom,rpm-qcs404
59+
- qcom,rpm-sdm660
60+
- qcom,rpm-sm6115
61+
- qcom,rpm-sm6125
62+
- qcom,rpm-sm6375
63+
- const: qcom,glink-smd-rpm
5864

5965
clock-controller:
6066
$ref: /schemas/clock/qcom,rpmcc.yaml#
@@ -84,21 +90,7 @@ if:
8490
properties:
8591
compatible:
8692
contains:
87-
enum:
88-
- qcom,rpm-apq8084
89-
- qcom,rpm-mdm9607
90-
- qcom,rpm-msm8226
91-
- qcom,rpm-msm8610
92-
- qcom,rpm-msm8909
93-
- qcom,rpm-msm8916
94-
- qcom,rpm-msm8917
95-
- qcom,rpm-msm8936
96-
- qcom,rpm-msm8937
97-
- qcom,rpm-msm8952
98-
- qcom,rpm-msm8953
99-
- qcom,rpm-msm8974
100-
- qcom,rpm-msm8976
101-
- qcom,rpm-msm8994
93+
const: qcom,smd-rpm
10294
then:
10395
properties:
10496
qcom,glink-channels: false
@@ -129,7 +121,7 @@ examples:
129121
qcom,smd-edge = <15>;
130122
131123
rpm-requests {
132-
compatible = "qcom,rpm-msm8916";
124+
compatible = "qcom,rpm-msm8916", "qcom,smd-rpm";
133125
qcom,smd-channels = "rpm_requests";
134126
135127
clock-controller {

Documentation/devicetree/bindings/soc/qcom/qcom,smd.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ examples:
5656
qcom,smd-edge = <15>;
5757
5858
rpm-requests {
59-
compatible = "qcom,rpm-msm8974";
59+
compatible = "qcom,rpm-msm8974", "qcom,smd-rpm";
6060
qcom,smd-channels = "rpm_requests";
6161
6262
clock-controller {

MAINTAINERS

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2745,7 +2745,7 @@ F: include/linux/soc/qcom/
27452745

27462746
ARM/QUALCOMM SUPPORT
27472747
M: Bjorn Andersson <andersson@kernel.org>
2748-
M: Konrad Dybcio <konrad.dybcio@linaro.org>
2748+
M: Konrad Dybcio <konradybcio@kernel.org>
27492749
L: linux-arm-msm@vger.kernel.org
27502750
S: Maintained
27512751
T: git git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux.git
@@ -7106,7 +7106,7 @@ F: drivers/gpu/drm/tiny/panel-mipi-dbi.c
71067106
DRM DRIVER for Qualcomm Adreno GPUs
71077107
M: Rob Clark <robdclark@gmail.com>
71087108
R: Sean Paul <sean@poorly.run>
7109-
R: Konrad Dybcio <konrad.dybcio@linaro.org>
7109+
R: Konrad Dybcio <konradybcio@kernel.org>
71107110
L: linux-arm-msm@vger.kernel.org
71117111
L: dri-devel@lists.freedesktop.org
71127112
L: freedreno@lists.freedesktop.org
@@ -18777,7 +18777,7 @@ F: include/uapi/drm/qaic_accel.h
1877718777

1877818778
QUALCOMM CORE POWER REDUCTION (CPR) AVS DRIVER
1877918779
M: Bjorn Andersson <andersson@kernel.org>
18780-
M: Konrad Dybcio <konrad.dybcio@linaro.org>
18780+
M: Konrad Dybcio <konradybcio@kernel.org>
1878118781
L: linux-pm@vger.kernel.org
1878218782
L: linux-arm-msm@vger.kernel.org
1878318783
S: Maintained
@@ -18861,6 +18861,7 @@ L: linux-arm-msm@vger.kernel.org
1886118861
S: Maintained
1886218862
F: Documentation/devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml
1886318863
F: drivers/soc/qcom/icc-bwmon.c
18864+
F: drivers/soc/qcom/trace_icc-bwmon.h
1886418865

1886518866
QUALCOMM IOMMU
1886618867
M: Rob Clark <robdclark@gmail.com>

drivers/firmware/qcom/Kconfig

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,17 +41,6 @@ config QCOM_TZMEM_MODE_SHMBRIDGE
4141

4242
endchoice
4343

44-
config QCOM_SCM_DOWNLOAD_MODE_DEFAULT
45-
bool "Qualcomm download mode enabled by default"
46-
depends on QCOM_SCM
47-
help
48-
A device with "download mode" enabled will upon an unexpected
49-
warm-restart enter a special debug mode that allows the user to
50-
"download" memory content over USB for offline postmortem analysis.
51-
The feature can be enabled/disabled on the kernel command line.
52-
53-
Say Y here to enable "download mode" by default.
54-
5544
config QCOM_QSEECOM
5645
bool "Qualcomm QSEECOM interface driver"
5746
depends on QCOM_SCM=y

drivers/firmware/qcom/qcom_scm-smc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ int scm_get_wq_ctx(u32 *wq_ctx, u32 *flags, u32 *more_pending)
7373
struct arm_smccc_res get_wq_res;
7474
struct arm_smccc_args get_wq_ctx = {0};
7575

76-
get_wq_ctx.args[0] = ARM_SMCCC_CALL_VAL(ARM_SMCCC_STD_CALL,
76+
get_wq_ctx.args[0] = ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL,
7777
ARM_SMCCC_SMC_64, ARM_SMCCC_OWNER_SIP,
7878
SCM_SMC_FNID(QCOM_SCM_SVC_WAITQ, QCOM_SCM_WAITQ_GET_WQ_CTX));
7979

0 commit comments

Comments
 (0)