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>
d-cache-sets = <128>;
next-level-cache = <&l2_0>;
performance-domains = <&performance 0>;
- capacity-dmips-mhz = <530>;
+ capacity-dmips-mhz = <427>;
};
cpu1: cpu@100 {
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 {