Unverified Commit 97d13958 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'qcom-drivers-for-6.14' of...

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: default avatarArnd Bergmann <arnd@arndb.de>
parents 5bdaf994 1d45a1cd
Loading
Loading
Loading
Loading
+18 −2
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ description: |
properties:
  compatible:
    enum:
      - qcom,ipq5424-llcc
      - qcom,qcs615-llcc
      - qcom,qcs8300-llcc
      - qcom,qdu1000-llcc
@@ -42,11 +43,11 @@ properties:
      - qcom,x1e80100-llcc

  reg:
    minItems: 2
    minItems: 1
    maxItems: 10

  reg-names:
    minItems: 2
    minItems: 1
    maxItems: 10

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

allOf:
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,ipq5424-llcc
    then:
      properties:
        reg:
          items:
            - description: LLCC0 base register region
        reg-names:
          items:
            - const: llcc0_base

  - if:
      properties:
        compatible:
+2 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ properties:
          - qcom,scm-ipq4019
          - qcom,scm-ipq5018
          - qcom,scm-ipq5332
          - qcom,scm-ipq5424
          - qcom,scm-ipq6018
          - qcom,scm-ipq806x
          - qcom,scm-ipq8074
@@ -42,6 +43,7 @@ properties:
          - qcom,scm-msm8996
          - qcom,scm-msm8998
          - qcom,scm-qcm2290
          - qcom,scm-qcs615
          - qcom,scm-qcs8300
          - qcom,scm-qdu1000
          - qcom,scm-sa8255p
+2 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ properties:
      - items:
          - enum:
              - qcom,qcm2290-cpu-bwmon
              - qcom,qcs615-cpu-bwmon
              - qcom,qcs8300-cpu-bwmon
              - qcom,sa8775p-cpu-bwmon
              - qcom,sc7180-cpu-bwmon
@@ -41,6 +42,7 @@ properties:
          - const: qcom,sdm845-bwmon    # BWMON v4, unified register space
      - items:
          - enum:
              - qcom,qcs615-llcc-bwmon
              - qcom,qcs8300-llcc-bwmon
              - qcom,sa8775p-llcc-bwmon
              - qcom,sc7180-llcc-bwmon
+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ properties:
  compatible:
    items:
      - enum:
          - qcom,qcs615-aoss-qmp
          - qcom,qcs8300-aoss-qmp
          - qcom,qdu1000-aoss-qmp
          - qcom,sa8255p-aoss-qmp
+5 −1
Original line number Diff line number Diff line
@@ -152,7 +152,6 @@ int __scm_smc_call(struct device *dev, const struct qcom_scm_desc *desc,
		   enum qcom_scm_convention qcom_convention,
		   struct qcom_scm_res *res, bool atomic)
{
	struct qcom_tzmem_pool *mempool = qcom_scm_get_tzmem_pool();
	int arglen = desc->arginfo & 0xf;
	int i, ret;
	void *args_virt __free(qcom_tzmem) = NULL;
@@ -173,6 +172,11 @@ int __scm_smc_call(struct device *dev, const struct qcom_scm_desc *desc,
		smc.args[i + SCM_SMC_FIRST_REG_IDX] = desc->args[i];

	if (unlikely(arglen > SCM_SMC_N_REG_ARGS)) {
		struct qcom_tzmem_pool *mempool = qcom_scm_get_tzmem_pool();

		if (!mempool)
			return -EINVAL;

		args_virt = qcom_tzmem_alloc(mempool,
					     SCM_SMC_N_EXT_ARGS * sizeof(u64),
					     flag);
Loading