Re: [RFC v3 00/10] DDR/L3 Scaling support on SDM845 and SC7180 SoCs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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(-)


--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project.



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux