lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20230825112633.236607-1-ulf.hansson@linaro.org>
Date:   Fri, 25 Aug 2023 13:26:20 +0200
From:   Ulf Hansson <ulf.hansson@...aro.org>
To:     Sudeep Holla <sudeep.holla@....com>,
        Cristian Marussi <cristian.marussi@....com>,
        Viresh Kumar <vireshk@...nel.org>, Nishanth Menon <nm@...com>,
        Stephen Boyd <sboyd@...nel.org>
Cc:     Nikunj Kela <nkela@...cinc.com>,
        Prasad Sodagudi <psodagud@...cinc.com>,
        Alexandre Torgue <alexandre.torgue@...s.st.com>,
        Ulf Hansson <ulf.hansson@...aro.org>, linux-pm@...r.kernel.org,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: [PATCH v3 00/13] arm_scmi/cpufreq: Add generic performance scaling support

Changes in v3:
	- Re-based upon the for-next/scmi/updates branch.
	- Re-ordered some of the patches in the series, to eas review.
	- Added some new DT doc patches in the series, according to comments.
	- Fixed other comments, see version history for each patch.

Changes in v2:
	- Split up the series, to get the basic support in place as the first
	step. The part that remains is the integration with the OPP library, to
	allow consumer drivers to change performance level using the OPP lib.
	- Re-based on top v6.5-rc1.
	- Other changes will be described for each patch.

The current SCMI performance scaling support is limited to cpufreq. This series
extends the support, so it can be used for all kind of devices and not only for
CPUs.

The changes are spread over a couple of different subsystems, although the
changes that affects the other subsystems than the arm_scmi directory are
mostly smaller, except for last patch which is in the new genpd directory.

The series is based upon the for-next/scmi/updates branch, but to enable the
genpd provider in patch 13 (the actual scmi performance domain driver) to be
placed in the new genpd directory, I have also merged an immutable branch [1],
which is queued for v6.6.

Note that, I am runing this on the Qemu virt platform with Optee running an SCMI
server. If you want some more details about my test setup, I can share this with
you, just let me know.

Looking forward to your feedback!

Kind regards
Ulf Hansson

[1]
git.kernel.org/pub/scm/linux/kernel/git/people/ulf.hansson/linux-pm.git genpd_create_dir


Ulf Hansson (13):
  firmware: arm_scmi: Extend perf protocol ops to get number of domains
  firmware: arm_scmi: Extend perf protocol ops to get information of a
    domain
  cpufreq: scmi: Prepare to move OF parsing of domain-id to cpufreq
  firmware: arm_scmi: Align perf ops to use domain-id as in-parameter
  firmware: arm_scmi: Drop redundant ->device_domain_id() from perf ops
  cpufreq: scmi: Avoid one OF parsing in scmi_get_sharing_cpus()
  cpufreq: scmi: Drop redundant ifdef in scmi_cpufreq_probe()
  dt-bindings: arm: cpus: Add a power-domain-name for a
    performance-domain
  dt-bindings: firmware: arm,scmi: Extend bindings for protocol@13
  dt-bindings: power: Clarify performance capabilities of power-domains
  cpufreq: scmi: Add support to parse domain-id using
    #power-domain-cells
  PM: domains: Allow genpd providers to manage OPP tables directly by
    its FW
  genpd: arm: Add the SCMI performance domain

 .../devicetree/bindings/arm/cpus.yaml         |   4 +-
 .../bindings/firmware/arm,scmi.yaml           |  11 +-
 .../bindings/power/power-domain.yaml          |  17 +-
 MAINTAINERS                                   |   1 +
 drivers/base/power/domain.c                   |  11 +-
 drivers/cpufreq/scmi-cpufreq.c                |  55 +++++--
 drivers/firmware/arm_scmi/Kconfig             |  12 ++
 drivers/firmware/arm_scmi/perf.c              |  90 +++++------
 drivers/genpd/Makefile                        |   1 +
 drivers/genpd/arm/Makefile                    |   3 +
 drivers/genpd/arm/scmi_perf_domain.c          | 150 ++++++++++++++++++
 include/linux/pm_domain.h                     |   5 +
 include/linux/scmi_protocol.h                 |  18 ++-
 13 files changed, 293 insertions(+), 85 deletions(-)
 create mode 100644 drivers/genpd/arm/Makefile
 create mode 100644 drivers/genpd/arm/scmi_perf_domain.c

-- 
2.34.1

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ