mbox series

[v5,0/5] msm8996 CPU scaling support

Message ID 1593766185-16346-1-git-send-email-loic.poulain@linaro.org (mailing list archive)
Headers show
Series msm8996 CPU scaling support | expand

Message

Loic Poulain July 3, 2020, 8:49 a.m. UTC
This series is a new tentative for adding MSM8996 CPU scaling support
based on the previous Ilia's series, with some of the latest comments
addressed.

This series has been tested with dragonboard-820c and cpufreq-bench.
The CPU opps are limited to maximum nominal frequencies (no turbo).

v2:
    - Converted dt bindings to YAML
    - Various fixes from Stephen inputs
    - Removed useless wmb barrier, MODULE_ALIAS
    - Use helpers like struct_size() and devm_platform_ioremap_resource()
    - Coding style fixes + comments
    - Kconfig: remove useless depends
    - Added Co-developed-by tag

v3:
    - Added Ilia and Rajendra s-o-b and contribution description

v4:
    - Rebasing on master
    - Removing obsolete cooling-min-level and cooling-max-level props
    - Align cpu trip nodes names with other boards
    - Fix trip types to passive for cpufreq

v5:
    - Fix reported 0-DAY CI issues, read_cpuid_mpidr usage requires ARM64 conf
    - Fix cpu_crit node labels
    - Dedicated patch for speedbin node name change
    - Added patch description for dtsi patch

Ilia Lin (2):
  soc: qcom: Separate kryo l2 accessors from PMU driver
  dt-bindings: clk: qcom: Add bindings for CPU clock for msm8996

Loic Poulain (3):
  clk: qcom: Add CPU clock driver for msm8996
  arch: arm64: dts: msm8996: Rename speedbin node
  arch: arm64: dts: msm8996: Add CPU opps and thermal

 .../bindings/clock/qcom,msm8996-apcc.yaml          |  56 +++
 arch/arm64/boot/dts/qcom/msm8996.dtsi              | 310 +++++++++++-
 drivers/clk/qcom/Kconfig                           |   9 +
 drivers/clk/qcom/Makefile                          |   1 +
 drivers/clk/qcom/clk-alpha-pll.h                   |   6 +
 drivers/clk/qcom/clk-cpu-8996.c                    | 538 +++++++++++++++++++++
 drivers/perf/Kconfig                               |   1 +
 drivers/perf/qcom_l2_pmu.c                         |  90 +---
 drivers/soc/qcom/Kconfig                           |   4 +
 drivers/soc/qcom/Makefile                          |   1 +
 drivers/soc/qcom/kryo-l2-accessors.c               |  57 +++
 include/soc/qcom/kryo-l2-accessors.h               |  12 +
 12 files changed, 1012 insertions(+), 73 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,msm8996-apcc.yaml
 create mode 100644 drivers/clk/qcom/clk-cpu-8996.c
 create mode 100644 drivers/soc/qcom/kryo-l2-accessors.c
 create mode 100644 include/soc/qcom/kryo-l2-accessors.h

--
2.7.4

Comments

Bjorn Andersson July 3, 2020, 7:33 p.m. UTC | #1
On Fri 03 Jul 01:49 PDT 2020, Loic Poulain wrote:

> This series is a new tentative for adding MSM8996 CPU scaling support
> based on the previous Ilia's series, with some of the latest comments
> addressed.
> 
> This series has been tested with dragonboard-820c and cpufreq-bench.
> The CPU opps are limited to maximum nominal frequencies (no turbo).
> 

On the board where I usually see issues when we test CPUfreq I see a
sudden reboot right before getting a login prompt.

I did however conclude that disabling CPU2 and CPU3, so presumably
I'm running low on juice when we drive them to highest frequency.

I will do some more digging into this and see what's going on. With just
CPU0 and 1 enabled this seems to work really well though.

Regards,
Bjorn

> v2:
>     - Converted dt bindings to YAML
>     - Various fixes from Stephen inputs
>     - Removed useless wmb barrier, MODULE_ALIAS
>     - Use helpers like struct_size() and devm_platform_ioremap_resource()
>     - Coding style fixes + comments
>     - Kconfig: remove useless depends
>     - Added Co-developed-by tag
> 
> v3:
>     - Added Ilia and Rajendra s-o-b and contribution description
> 
> v4:
>     - Rebasing on master
>     - Removing obsolete cooling-min-level and cooling-max-level props
>     - Align cpu trip nodes names with other boards
>     - Fix trip types to passive for cpufreq
> 
> v5:
>     - Fix reported 0-DAY CI issues, read_cpuid_mpidr usage requires ARM64 conf
>     - Fix cpu_crit node labels
>     - Dedicated patch for speedbin node name change
>     - Added patch description for dtsi patch
> 
> Ilia Lin (2):
>   soc: qcom: Separate kryo l2 accessors from PMU driver
>   dt-bindings: clk: qcom: Add bindings for CPU clock for msm8996
> 
> Loic Poulain (3):
>   clk: qcom: Add CPU clock driver for msm8996
>   arch: arm64: dts: msm8996: Rename speedbin node
>   arch: arm64: dts: msm8996: Add CPU opps and thermal
> 
>  .../bindings/clock/qcom,msm8996-apcc.yaml          |  56 +++
>  arch/arm64/boot/dts/qcom/msm8996.dtsi              | 310 +++++++++++-
>  drivers/clk/qcom/Kconfig                           |   9 +
>  drivers/clk/qcom/Makefile                          |   1 +
>  drivers/clk/qcom/clk-alpha-pll.h                   |   6 +
>  drivers/clk/qcom/clk-cpu-8996.c                    | 538 +++++++++++++++++++++
>  drivers/perf/Kconfig                               |   1 +
>  drivers/perf/qcom_l2_pmu.c                         |  90 +---
>  drivers/soc/qcom/Kconfig                           |   4 +
>  drivers/soc/qcom/Makefile                          |   1 +
>  drivers/soc/qcom/kryo-l2-accessors.c               |  57 +++
>  include/soc/qcom/kryo-l2-accessors.h               |  12 +
>  12 files changed, 1012 insertions(+), 73 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/clock/qcom,msm8996-apcc.yaml
>  create mode 100644 drivers/clk/qcom/clk-cpu-8996.c
>  create mode 100644 drivers/soc/qcom/kryo-l2-accessors.c
>  create mode 100644 include/soc/qcom/kryo-l2-accessors.h
> 
> --
> 2.7.4