Skip to content

Commit 97d1395

Browse files
committed
Merge tag 'qcom-drivers-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers
Qualcomm driver updates for v6.14 The Qualcomm SCM drivers gains a number of fixes and improvements related to race conditions during initialization. QSEECOM and the EFI variable service therein is enabled for a few 8cx Gen 3 and X Elite boards. LLCC driver gains configuration for IPQ5424 and WRCACHE is enabled on X Elite. The BCM_TCS_CMD() macro is corrected and is cleaned up. Support for SM7225 and X 1 Plus are added to the pd-mapper. pmic_glink and the associated altmode driver are simplied using guards. socinfo is added for QCS9075 and serial number readout on MSM8916 devices is corrected. * tag 'qcom-drivers-for-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (29 commits) firmware: qcom: scm: add calls for wrapped key support soc: qcom: pd_mapper: Add SM7225 compatible dt-bindings: firmware: qcom,scm: Document ipq5424 SCM soc: qcom: llcc: Update configuration data for IPQ5424 dt-bindings: cache: qcom,llcc: Add IPQ5424 compatible firmware: qcom: scm: smc: Narrow 'mempool' variable scope firmware: qcom: scm: smc: Handle missing SCM device firmware: qcom: scm: Cleanup global '__scm' on probe failures firmware: qcom: scm: Fix missing read barrier in qcom_scm_get_tzmem_pool() firmware: qcom: scm: Fix missing read barrier in qcom_scm_is_available() soc: qcom: socinfo: add QCS9075 SoC ID dt-bindings: arm: qcom,ids: add SoC ID for QCS9075 soc: qcom: socinfo: Avoid out of bounds read of serial number firmware: qcom: scm: Allow QSEECOM on Huawei Matebook E Go (sc8280xp) firmware: qcom: scm: Allow QSEECOM for Windows Dev Kit 2023 firmware: qcom: scm: Allow QSEECOM for HP Omnibook X14 soc: qcom: rmtfs: constify rmtfs_class soc: qcom: rmtfs: allow building the module with COMPILE_TEST=y soc: qcom: pmic_glink_altmode: simplify locking with guard() soc: qcom: Rework BCM_TCS_CMD macro ... Link: https://lore.kernel.org/r/20250111172901.391774-1-andersson@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 parents 5bdaf99 + 1d45a1c commit 97d1395

File tree

18 files changed

+406
-86
lines changed

18 files changed

+406
-86
lines changed

Documentation/devicetree/bindings/cache/qcom,llcc.yaml

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ description: |
2020
properties:
2121
compatible:
2222
enum:
23+
- qcom,ipq5424-llcc
2324
- qcom,qcs615-llcc
2425
- qcom,qcs8300-llcc
2526
- qcom,qdu1000-llcc
@@ -42,11 +43,11 @@ properties:
4243
- qcom,x1e80100-llcc
4344

4445
reg:
45-
minItems: 2
46+
minItems: 1
4647
maxItems: 10
4748

4849
reg-names:
49-
minItems: 2
50+
minItems: 1
5051
maxItems: 10
5152

5253
interrupts:
@@ -66,6 +67,21 @@ required:
6667
- reg-names
6768

6869
allOf:
70+
- if:
71+
properties:
72+
compatible:
73+
contains:
74+
enum:
75+
- qcom,ipq5424-llcc
76+
then:
77+
properties:
78+
reg:
79+
items:
80+
- description: LLCC0 base register region
81+
reg-names:
82+
items:
83+
- const: llcc0_base
84+
6985
- if:
7086
properties:
7187
compatible:

Documentation/devicetree/bindings/firmware/qcom,scm.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ properties:
2626
- qcom,scm-ipq4019
2727
- qcom,scm-ipq5018
2828
- qcom,scm-ipq5332
29+
- qcom,scm-ipq5424
2930
- qcom,scm-ipq6018
3031
- qcom,scm-ipq806x
3132
- qcom,scm-ipq8074
@@ -42,6 +43,7 @@ properties:
4243
- qcom,scm-msm8996
4344
- qcom,scm-msm8998
4445
- qcom,scm-qcm2290
46+
- qcom,scm-qcs615
4547
- qcom,scm-qcs8300
4648
- qcom,scm-qdu1000
4749
- qcom,scm-sa8255p

Documentation/devicetree/bindings/interconnect/qcom,msm8998-bwmon.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ properties:
2626
- items:
2727
- enum:
2828
- qcom,qcm2290-cpu-bwmon
29+
- qcom,qcs615-cpu-bwmon
2930
- qcom,qcs8300-cpu-bwmon
3031
- qcom,sa8775p-cpu-bwmon
3132
- qcom,sc7180-cpu-bwmon
@@ -41,6 +42,7 @@ properties:
4142
- const: qcom,sdm845-bwmon # BWMON v4, unified register space
4243
- items:
4344
- enum:
45+
- qcom,qcs615-llcc-bwmon
4446
- qcom,qcs8300-llcc-bwmon
4547
- qcom,sa8775p-llcc-bwmon
4648
- qcom,sc7180-llcc-bwmon

Documentation/devicetree/bindings/soc/qcom/qcom,aoss-qmp.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ properties:
2525
compatible:
2626
items:
2727
- enum:
28+
- qcom,qcs615-aoss-qmp
2829
- qcom,qcs8300-aoss-qmp
2930
- qcom,qdu1000-aoss-qmp
3031
- qcom,sa8255p-aoss-qmp

drivers/firmware/qcom/qcom_scm-smc.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,6 @@ int __scm_smc_call(struct device *dev, const struct qcom_scm_desc *desc,
152152
enum qcom_scm_convention qcom_convention,
153153
struct qcom_scm_res *res, bool atomic)
154154
{
155-
struct qcom_tzmem_pool *mempool = qcom_scm_get_tzmem_pool();
156155
int arglen = desc->arginfo & 0xf;
157156
int i, ret;
158157
void *args_virt __free(qcom_tzmem) = NULL;
@@ -173,6 +172,11 @@ int __scm_smc_call(struct device *dev, const struct qcom_scm_desc *desc,
173172
smc.args[i + SCM_SMC_FIRST_REG_IDX] = desc->args[i];
174173

175174
if (unlikely(arglen > SCM_SMC_N_REG_ARGS)) {
175+
struct qcom_tzmem_pool *mempool = qcom_scm_get_tzmem_pool();
176+
177+
if (!mempool)
178+
return -EINVAL;
179+
176180
args_virt = qcom_tzmem_alloc(mempool,
177181
SCM_SMC_N_EXT_ARGS * sizeof(u64),
178182
flag);

0 commit comments

Comments
 (0)