]> git.hungrycats.org Git - linux/commitdiff
arm64: dts: mediatek: mt8192: Fix CPUs capacity-dmips-mhz
authorNícolas F. R. A. Prado <nfraprado@collabora.com>
Fri, 2 Jun 2023 18:35:15 +0000 (14:35 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jul 2023 17:39:43 +0000 (19:39 +0200)
[ Upstream commit a4366b5695c984b8a3fc8b31de9e758c8f6d1aed ]

The capacity-dmips-mhz parameter was miscalculated: this SoC runs
the first (Cortex-A55) cluster at a maximum of 2000MHz and the
second (Cortex-A76) cluster at a maximum of 2200MHz.

In order to calculate the right capacity-dmips-mhz, the following
test was performed:
1. CPUFREQ governor was set to 'performance' on both clusters
2. Ran dhrystone with 500000000 iterations for 10 times on each cluster
3. Calculated the mean result for each cluster
4. Calculated DMIPS/MHz: dmips_mhz = dmips_per_second / cpu_mhz
5. Scaled results to 1024:
   result_c0 = dmips_mhz_c0 / dmips_mhz_c1 * 1024

The mean results for this SoC are:
Cluster 0 (LITTLE): 12016411 Dhry/s
Cluster 1 (BIG): 31702034 Dhry/s

The calculated scaled results are:
Cluster 0: 426.953226899238 (rounded to 427)
Cluster 1: 1024

Fixes: 48489980e27e ("arm64: dts: Add Mediatek SoC MT8192 and evaluation board dts and Makefile")
Signed-off-by: Nícolas F. R. A. Prado <nfraprado@collabora.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230602183515.3778780-1-nfraprado@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/boot/dts/mediatek/mt8192.dtsi

index ba49f37933d6d1fda9fcb06f088a30bbf9bda3a6..a3a2b7de54a7cf0e7f4712b1be7f62fdf867121f 100644 (file)
@@ -71,7 +71,7 @@
                        d-cache-sets = <128>;
                        next-level-cache = <&l2_0>;
                        performance-domains = <&performance 0>;
-                       capacity-dmips-mhz = <530>;
+                       capacity-dmips-mhz = <427>;
                };
 
                cpu1: cpu@100 {
@@ -89,7 +89,7 @@
                        d-cache-sets = <128>;
                        next-level-cache = <&l2_0>;
                        performance-domains = <&performance 0>;
-                       capacity-dmips-mhz = <530>;
+                       capacity-dmips-mhz = <427>;
                };
 
                cpu2: cpu@200 {
                        d-cache-sets = <128>;
                        next-level-cache = <&l2_0>;
                        performance-domains = <&performance 0>;
-                       capacity-dmips-mhz = <530>;
+                       capacity-dmips-mhz = <427>;
                };
 
                cpu3: cpu@300 {
                        d-cache-sets = <128>;
                        next-level-cache = <&l2_0>;
                        performance-domains = <&performance 0>;
-                       capacity-dmips-mhz = <530>;
+                       capacity-dmips-mhz = <427>;
                };
 
                cpu4: cpu@400 {