On Mon, Jan 27, 2020 at 12:05 PM Sibi Sankar <sibis@xxxxxxxxxxxxxx> 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/ So drive-by question, from the perspective of someone who cares about a non-cpu device that frequently enjoys a lot of bandwidth (ie. the GPU).. any thoughts on how ddr scaling would/should work for workloads where the CPU is not particularly busy? BR, -R > > 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(-) > > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project