From: Greg Kroah-Hartman Date: Mon, 8 May 2023 09:06:56 +0000 (+0200) Subject: 5.15-stable patches X-Git-Tag: v5.15.111~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8d050cd1d425e3750fa768aa99384d1e77ae43f5;p=thirdparty%2Fkernel%2Fstable-queue.git 5.15-stable patches added patches: arm64-dts-qcom-sdm845-correct-dynamic-power-coefficients.patch sound-oss-dmasound-fix-dmasound_setup-defined-but-not-used.patch --- diff --git a/queue-5.15/arm64-dts-qcom-sdm845-correct-dynamic-power-coefficients.patch b/queue-5.15/arm64-dts-qcom-sdm845-correct-dynamic-power-coefficients.patch new file mode 100644 index 00000000000..80687d05ab8 --- /dev/null +++ b/queue-5.15/arm64-dts-qcom-sdm845-correct-dynamic-power-coefficients.patch @@ -0,0 +1,86 @@ +From 44750f153699b6e4f851a399287e5c8df208d696 Mon Sep 17 00:00:00 2001 +From: Vincent Guittot +Date: Fri, 6 Jan 2023 17:46:18 +0100 +Subject: arm64: dts: qcom: sdm845: correct dynamic power coefficients + +From: Vincent Guittot + +commit 44750f153699b6e4f851a399287e5c8df208d696 upstream. + +While stressing EAS on my dragonboard RB3, I have noticed that LITTLE cores +where never selected as the most energy efficient CPU whatever the +utilization level of waking task. + +energy model framework uses its cost field to estimate the energy with +the formula: + + nrg = cost of the selected OPP * utilization / CPU's max capacity + +which ends up selecting the CPU with lowest cost / max capacity ration +as long as the utilization fits in the OPP's capacity. + +If we compare the cost of a little OPP with similar capacity of a big OPP +like : + OPP(kHz) OPP capacity cost max capacity cost/max capacity +LITTLE 1766400 407 351114 407 863 +big 1056000 408 520267 1024 508 + +This can be interpreted as the LITTLE core consumes 70% more than big core +for the same compute capacity. + +According to [1], LITTLE consumes 10% less than big core for Coremark +benchmark at those OPPs. If we consider that everything else stays +unchanged, the dynamic-power-coefficient of LITTLE core should be +only 53% of the current value: 290 * 53% = 154 + +Set the dynamic-power-coefficient of CPU0-3 to 154 to fix the energy model. + +[1] https://github.com/kdrag0n/freqbench/tree/master/results/sdm845/main + +Fixes: 0e0a8e35d725 ("arm64: dts: qcom: sdm845: correct dynamic power coefficients") +Signed-off-by: Vincent Guittot +Signed-off-by: Bjorn Andersson +Link: https://lore.kernel.org/r/20230106164618.1845281-1-vincent.guittot@linaro.org +Signed-off-by: Greg Kroah-Hartman +--- + arch/arm64/boot/dts/qcom/sdm845.dtsi | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi ++++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi +@@ -197,7 +197,7 @@ + &LITTLE_CPU_SLEEP_1 + &CLUSTER_SLEEP_0>; + capacity-dmips-mhz = <611>; +- dynamic-power-coefficient = <290>; ++ dynamic-power-coefficient = <154>; + qcom,freq-domain = <&cpufreq_hw 0>; + operating-points-v2 = <&cpu0_opp_table>; + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, +@@ -222,7 +222,7 @@ + &LITTLE_CPU_SLEEP_1 + &CLUSTER_SLEEP_0>; + capacity-dmips-mhz = <611>; +- dynamic-power-coefficient = <290>; ++ dynamic-power-coefficient = <154>; + qcom,freq-domain = <&cpufreq_hw 0>; + operating-points-v2 = <&cpu0_opp_table>; + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, +@@ -244,7 +244,7 @@ + &LITTLE_CPU_SLEEP_1 + &CLUSTER_SLEEP_0>; + capacity-dmips-mhz = <611>; +- dynamic-power-coefficient = <290>; ++ dynamic-power-coefficient = <154>; + qcom,freq-domain = <&cpufreq_hw 0>; + operating-points-v2 = <&cpu0_opp_table>; + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, +@@ -266,7 +266,7 @@ + &LITTLE_CPU_SLEEP_1 + &CLUSTER_SLEEP_0>; + capacity-dmips-mhz = <611>; +- dynamic-power-coefficient = <290>; ++ dynamic-power-coefficient = <154>; + qcom,freq-domain = <&cpufreq_hw 0>; + operating-points-v2 = <&cpu0_opp_table>; + interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_EBI1 3>, diff --git a/queue-5.15/series b/queue-5.15/series index e4d84cbd53c..6b01e33199e 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -367,3 +367,5 @@ dm-don-t-lock-fs-when-the-map-is-null-in-process-of-resume.patch perf-auxtrace-fix-address-filter-entire-kernel-size.patch perf-intel-pt-fix-cyc-timestamps-after-standalone-cbr.patch debugobject-ensure-pool-refill-again.patch +sound-oss-dmasound-fix-dmasound_setup-defined-but-not-used.patch +arm64-dts-qcom-sdm845-correct-dynamic-power-coefficients.patch diff --git a/queue-5.15/sound-oss-dmasound-fix-dmasound_setup-defined-but-not-used.patch b/queue-5.15/sound-oss-dmasound-fix-dmasound_setup-defined-but-not-used.patch new file mode 100644 index 00000000000..2265f88720f --- /dev/null +++ b/queue-5.15/sound-oss-dmasound-fix-dmasound_setup-defined-but-not-used.patch @@ -0,0 +1,38 @@ +From 357ad4d898286b94aaae0cb7e3f573459e5b98b9 Mon Sep 17 00:00:00 2001 +From: Miles Chen +Date: Thu, 14 Apr 2022 17:19:38 +0800 +Subject: sound/oss/dmasound: fix 'dmasound_setup' defined but not used + +From: Miles Chen + +commit 357ad4d898286b94aaae0cb7e3f573459e5b98b9 upstream. + +We observed: 'dmasound_setup' defined but not used error with +COMPILER=gcc ARCH=m68k DEFCONFIG=allmodconfig build. + +Fix it by adding __maybe_unused to dmasound_setup. + +Error(s): +sound/oss/dmasound/dmasound_core.c:1431:12: error: 'dmasound_setup' defined but not used [-Werror=unused-function] + +Fixes: 9dd7c46346ca ("sound/oss/dmasound: fix build when drivers are mixed =y/=m") +Signed-off-by: Miles Chen +Acked-by: Randy Dunlap +Link: https://lore.kernel.org/r/20220414091940.2216-1-miles.chen@mediatek.com +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +--- + sound/oss/dmasound/dmasound_core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/sound/oss/dmasound/dmasound_core.c ++++ b/sound/oss/dmasound/dmasound_core.c +@@ -1428,7 +1428,7 @@ void dmasound_deinit(void) + unregister_sound_dsp(sq_unit); + } + +-static int dmasound_setup(char *str) ++static int __maybe_unused dmasound_setup(char *str) + { + int ints[6], size; +