[PATCH v2 1/2] arm64: dts: qcom: sm8350: Add CPU capacities
From: Demeter Barna via B4 Relay
Date: Sun Oct 11 2026 - 23:57:47 EST
From: Demeter Barna <me@xxxxxxxxxxxxxxxxxxx>
Without capacity-dmips-mhz every CPU reports a capacity of 1024, so the
scheduler treats the Cortex-A55, Cortex-A78 and Cortex-X1 cores as
equal and sets up no asymmetric CPU capacity.
Take the values from Qualcomm's downstream device tree for SM8350
(lahaina.dtsi in msm-5.4): 1024, 1946 and 2048, halved so that the X1 is
1024. Only their ratios matter, as the kernel normalizes them. The
downstream overlay for v2 silicon (lahaina-v2.dtsi) keeps them.
Assisted-by: LLM
Signed-off-by: Demeter Barna <me@xxxxxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/sm8350.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8350.dtsi b/arch/arm64/boot/dts/qcom/sm8350.dtsi
index 55b32050c..df6e9d1fa 100644
--- a/arch/arm64/boot/dts/qcom/sm8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8350.dtsi
@@ -60,6 +60,7 @@ cpu0: cpu@0 {
reg = <0x0 0x0>;
clocks = <&cpufreq_hw 0>;
enable-method = "psci";
+ capacity-dmips-mhz = <512>;
next-level-cache = <&l2_0>;
qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&cpu_pd0>;
@@ -84,6 +85,7 @@ cpu1: cpu@100 {
reg = <0x0 0x100>;
clocks = <&cpufreq_hw 0>;
enable-method = "psci";
+ capacity-dmips-mhz = <512>;
next-level-cache = <&l2_100>;
qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&cpu_pd1>;
@@ -103,6 +105,7 @@ cpu2: cpu@200 {
reg = <0x0 0x200>;
clocks = <&cpufreq_hw 0>;
enable-method = "psci";
+ capacity-dmips-mhz = <512>;
next-level-cache = <&l2_200>;
qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&cpu_pd2>;
@@ -122,6 +125,7 @@ cpu3: cpu@300 {
reg = <0x0 0x300>;
clocks = <&cpufreq_hw 0>;
enable-method = "psci";
+ capacity-dmips-mhz = <512>;
next-level-cache = <&l2_300>;
qcom,freq-domain = <&cpufreq_hw 0>;
power-domains = <&cpu_pd3>;
@@ -141,6 +145,7 @@ cpu4: cpu@400 {
reg = <0x0 0x400>;
clocks = <&cpufreq_hw 1>;
enable-method = "psci";
+ capacity-dmips-mhz = <973>;
next-level-cache = <&l2_400>;
qcom,freq-domain = <&cpufreq_hw 1>;
power-domains = <&cpu_pd4>;
@@ -160,6 +165,7 @@ cpu5: cpu@500 {
reg = <0x0 0x500>;
clocks = <&cpufreq_hw 1>;
enable-method = "psci";
+ capacity-dmips-mhz = <973>;
next-level-cache = <&l2_500>;
qcom,freq-domain = <&cpufreq_hw 1>;
power-domains = <&cpu_pd5>;
@@ -179,6 +185,7 @@ cpu6: cpu@600 {
reg = <0x0 0x600>;
clocks = <&cpufreq_hw 1>;
enable-method = "psci";
+ capacity-dmips-mhz = <973>;
next-level-cache = <&l2_600>;
qcom,freq-domain = <&cpufreq_hw 1>;
power-domains = <&cpu_pd6>;
@@ -198,6 +205,7 @@ cpu7: cpu@700 {
reg = <0x0 0x700>;
clocks = <&cpufreq_hw 2>;
enable-method = "psci";
+ capacity-dmips-mhz = <1024>;
next-level-cache = <&l2_700>;
qcom,freq-domain = <&cpufreq_hw 2>;
power-domains = <&cpu_pd7>;
--
2.53.0