Unverified Commit a08000d5 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

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

Merge tag 'qcom-drivers-for-6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.5

Konrad Dybcio is promoted, from reviewer, to co-maintainer.

The mdt_loader gets a fix to the detection of split binaries, where the
previous logic sometimes concluded that the first segments was not
split, in a split image. The unconditional calling of
scm_pas_mem_setup() turns out to cause a regression and is reverted.

The altmode subfunction of pmic_glink is enabled for SM8450.

A new driver for exposing power statistics from the RPM, for debugging
purposes, is introduced.

OCMEM gets a debug prints of the hardware version, QMI helpers are
transitioned to alloc_ordered_workqueue() and an error message in
ramp_controller is improved.

An API is introduced to the SMEM driver to allow other drivers to query
the SoC id, rather than open-coding the parsing of the relevant SMEM
item. This is then used to clean up the Qualcomm NVMEM-based cpufreq
driver.

Socinfo is extended with knowledge about IPQ5018, IPQ5312 and IPQ5302.

* tag 'qcom-drivers-for-6.5' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (23 commits)
  soc: qcom: ocmem: Add OCMEM hardware version print
  cpufreq: qcom-nvmem: use helper to get SMEM SoC ID
  cpufreq: qcom-nvmem: use SoC ID-s from bindings
  soc: qcom: smem: introduce qcom_smem_get_soc_id()
  soc: qcom: smem: Switch to EXPORT_SYMBOL_GPL()
  soc: qcom: socinfo: move SMEM item struct and defines to a header
  soc: qcom: mdt_loader: Fix unconditional call to scm_pas_mem_setup
  MAINTAINERS: Add Konrad Dybcio as linux-arm-msm co-maintainer
  dt-bindings: sram: qcom,imem: Document MSM8226
  soc: qcom: socinfo: Add Soc ID for IPQ5312 and IPQ5302
  dt-bindings: arm: qcom,ids: add SoC ID for IPQ5312 and IPQ5302
  soc: qcom: socinfo: Add IDs for IPQ5018 family
  dt-bindings: arm: qcom,ids: Add IDs for IPQ5018 family
  soc: qcom: Introduce RPM master stats driver
  dt-bindings: soc: qcom: Add RPM Master stats
  soc: qcom: qmi: Use alloc_ordered_workqueue() to create ordered workqueues
  soc: qcom: ramp_controller: Improve error message for failure in .remove()
  dt-bindings: soc: qcom: smd-rpm: allow MSM8226 over SMD
  soc: qcom: rpmpd: use correct __le32 type
  dt-bindings: soc: qcom: eud: Fix compatible string in the example
  ...

Link: https://lore.kernel.org/r/20230611010044.2481875-1-andersson@kernel.org


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 09f4406a e81a16e7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ properties:
    items:
      - enum:
          - qcom,qdu1000-aoss-qmp
          - qcom,sa8775p-aoss-qmp
          - qcom,sc7180-aoss-qmp
          - qcom,sc7280-aoss-qmp
          - qcom,sc8180x-aoss-qmp
+3 −1
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ examples:
           compatible = "qcom,sc7280-eud", "qcom,eud";
           reg = <0x88e0000 0x2000>,
                 <0x88e2000 0x1000>;

           ports {
                   #address-cells = <1>;
                   #size-cells = <0>;
@@ -67,6 +68,7 @@ examples:
                                   remote-endpoint = <&usb2_role_switch>;
                           };
                   };

                   port@1 {
                           reg = <1>;
                           eud_con: endpoint {
+69 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/qcom/qcom,rpm-master-stats.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Qualcomm Technologies, Inc. (QTI) RPM Master Stats

maintainers:
  - Konrad Dybcio <konrad.dybcio@linaro.org>

description: |
  The Qualcomm RPM (Resource Power Manager) architecture includes a concept
  of "RPM Masters". They can be thought of as "the local gang leaders", usually
  spanning a single subsystem (e.g. APSS, ADSP, CDSP). All of the RPM decisions
  (particularly around entering hardware-driven low power modes: XO shutdown
  and total system-wide power collapse) are first made at Master-level, and
  only then aggregated for the entire system.

  The Master Stats provide a few useful bits that can be used to assess whether
  our device has entered the desired low-power mode, how long it took to do so,
  the duration of that residence, how long it took to come back online,
  how many times a given sleep state was entered and which cores are actively
  voting for staying awake.

  This scheme has been used on various SoCs in the 2013-2023 era, with some
  newer or higher-end designs providing this information through an SMEM query.

properties:
  compatible:
    const: qcom,rpm-master-stats

  qcom,rpm-msg-ram:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: Phandle to an RPM MSG RAM slice containing the master stats
    minItems: 1
    maxItems: 5

  qcom,master-names:
    $ref: /schemas/types.yaml#/definitions/string-array
    description:
      The name of the RPM Master which owns the MSG RAM slice where this
      instance of Master Stats resides
    minItems: 1
    maxItems: 5

required:
  - compatible
  - qcom,rpm-msg-ram
  - qcom,master-names

additionalProperties: false

examples:
  - |
    stats {
      compatible = "qcom,rpm-master-stats";
      qcom,rpm-msg-ram = <&apss_master_stats>,
                         <&mpss_master_stats>,
                         <&adsp_master_stats>,
                         <&cdsp_master_stats>,
                         <&tz_master_stats>;
      qcom,master-names = "APSS",
                          "MPSS",
                          "ADSP",
                          "CDSP",
                          "TZ";
    };
...
+1 −0
Original line number Diff line number Diff line
@@ -81,6 +81,7 @@ if:
      contains:
        enum:
          - qcom,rpm-apq8084
          - qcom,rpm-msm8226
          - qcom,rpm-msm8916
          - qcom,rpm-msm8936
          - qcom,rpm-msm8974
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ properties:
    items:
      - enum:
          - qcom,apq8064-imem
          - qcom,msm8226-imem
          - qcom,msm8974-imem
          - qcom,qcs404-imem
          - qcom,sc7180-imem
Loading