Hey Lukasz,
Thanks for taking time to review
the series!
On 2020-01-29 15:16, Lukasz Luba wrote:
Hi Sibi,
In my opinion this solution depends on not always true assumption that
CPUFreq notification chain will be triggered when there is a frequency
This series does not create any
devfreq devices nor use the cpufreq
notification chain. It just relies
on the opening up of required-opps
from being exclusive to gen-pd using
patches 1,2,3 from patch series[1].
With the fast path disabled and
schedutil enabled, this series will
not miss any cpufreq changes.
[1] https://patchwork.kernel.org/cover/11055499/
switch. Extending devfreq governor (as in one of the dependent patch
series that you have referred) by attaching to this notification
chain makes sense only when the SchedUtil and fast_switch is not in use.
fast_switch and cpu notifier chains
are mutually exclusive but schedutil
will still operate in the slow path
IIRC.
The Schedutil CPUFreq governor might use the fast_switch from this
driver and the notifications will not be triggered. I have also
commented patch 08/10 which tries to disable it.
Regards,
Lukasz
On 1/27/20 8:03 PM, Sibi Sankar wrote:
This RFC series aims to extend cpu based scaling support to L3/DDR on
SDM845 and SC7180 SoCs.
Patches [1-3] - Blacklist SDM845 and SC7180 in cpufreq-dt-platdev
Patches [5-7] - Hack in a way to add/remove multiple opp tables to
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ a single device. I am yet to fix the debugfs to
ÂÂÂÂÂÂÂ support multiple opp_tables per device but wanted to
ÂÂÂÂÂÂÂ send what was working upstream to get an idea if multiple
ÂÂÂÂÂÂÂ opp tables per device is a feature that will be useful
ÂÂÂÂÂÂÂ upstream.
Patches [9-10] - Add the cpu/cpu-ddr/cpu-l3 opp tables for SDM845
ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ and SC7180 SoCs.
v3:
 * Migrated to using Saravana's opp-kBps bindings [1]
 * Fixed some misc comments from Rajendra
 * Added support for SC7180
v2:
 * Incorporated Viresh's comments from:
https://lore.kernel.org/lkml/20190410102429.r6j6brm5kspmqxc3@vireshk-i7/
https://lore.kernel.org/lkml/20190410112516.gnh77jcwawvld6et@vireshk-i7/
 * Dropped cpufreq-map passive governor
Git-branch: https://github.com/QuinAsura/linux/tree/lnext-012420
Some alternate ways of hosting the opp-tables:
https://github.com/QuinAsura/linux/commit/50b92bfaadc8f9a0d1e12249646e018bd6d1a9d3
https://github.com/QuinAsura/linux/commit/3d23d1eefd16ae6d9e3ef91e93e78749d8844e98
Viresh didn't really like ^^ bindings and they dont really scale well. Just
including them here for completeness.
Depends on the following series:
[1] https://patchwork.kernel.org/cover/11277199/
[2] https://patchwork.kernel.org/cover/11055499/
[3] https://patchwork.kernel.org/cover/11326381/
Sibi Sankar (10):
ÂÂ arm64: dts: qcom: sdm845: Add SoC compatible to MTP
ÂÂ cpufreq: blacklist SDM845 in cpufreq-dt-platdev
ÂÂ cpufreq: blacklist SC7180 in cpufreq-dt-platdev
ÂÂ OPP: Add and export helper to update voltage
ÂÂ opp: of: export _opp_of_get_opp_desc_node
ÂÂ opp: Allow multiple opp_tables to be mapped to a single device
ÂÂ opp: Remove multiple attached opp tables from a device
ÂÂ cpufreq: qcom: Update the bandwidth levels on frequency change
ÂÂ arm64: dts: qcom: sdm845: Add cpu OPP tables
ÂÂ arm64: dts: qcom: sc7180: Add cpu OPP tables
 arch/arm64/boot/dts/qcom/sc7180.dtsi | 287 +++++++++++++++
 arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 2 +-
 arch/arm64/boot/dts/qcom/sdm845.dtsi | 453 ++++++++++++++++++++++++
 drivers/cpufreq/cpufreq-dt-platdev.c | 2 +
 drivers/cpufreq/qcom-cpufreq-hw.c | 246 +++++++++++--
 drivers/opp/core.c | 111 +++++-
 drivers/opp/of.c | 3 +-
 drivers/opp/opp.h | 2 +
 include/linux/pm_opp.h | 10 +
 9 files changed, 1083 insertions(+), 33 deletions(-)