lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Sat, 20 Nov 2021 04:23:39 +0300
From:   Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To:     Thara Gopinath <thara.gopinath@...aro.org>, agross@...nel.org,
        bjorn.andersson@...aro.org, robh+dt@...nel.org
Cc:     linux-arm-msm@...r.kernel.org, devicetree@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] arm64: dts: qcom: sm8250: Add CPU opp tables

On 11/11/2021 00:53, Thara Gopinath wrote:
> Add OPP tables to scale DDR and L3 with CPUs for SM8250 SoCs.
> 
> Signed-off-by: Thara Gopinath <thara.gopinath@...aro.org>

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Tested-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>


> ---
>   arch/arm64/boot/dts/qcom/sm8250.dtsi | 314 +++++++++++++++++++++++++++
>   1 file changed, 314 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm8250.dtsi b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> index d12e4cbfc852..7c35415a05be 100644
> --- a/arch/arm64/boot/dts/qcom/sm8250.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8250.dtsi
> @@ -100,6 +100,9 @@ CPU0: cpu@0 {
>   			dynamic-power-coefficient = <205>;
>   			next-level-cache = <&L2_0>;
>   			qcom,freq-domain = <&cpufreq_hw 0>;
> +			operating-points-v2 = <&cpu0_opp_table>;
> +			interconnects = <&gem_noc MASTER_AMPSS_M0 &mc_virt SLAVE_EBI_CH0>,
> +					<&epss_l3 MASTER_OSM_L3_APPS &epss_l3 SLAVE_OSM_L3>;
>   			#cooling-cells = <2>;
>   			L2_0: l2-cache {
>   				compatible = "cache";
> @@ -119,6 +122,9 @@ CPU1: cpu@100 {
>   			dynamic-power-coefficient = <205>;
>   			next-level-cache = <&L2_100>;
>   			qcom,freq-domain = <&cpufreq_hw 0>;
> +			operating-points-v2 = <&cpu0_opp_table>;
> +			interconnects = <&gem_noc MASTER_AMPSS_M0 &mc_virt SLAVE_EBI_CH0>,
> +					<&epss_l3 MASTER_OSM_L3_APPS &epss_l3 SLAVE_OSM_L3>;
>   			#cooling-cells = <2>;
>   			L2_100: l2-cache {
>   				compatible = "cache";
> @@ -135,6 +141,9 @@ CPU2: cpu@200 {
>   			dynamic-power-coefficient = <205>;
>   			next-level-cache = <&L2_200>;
>   			qcom,freq-domain = <&cpufreq_hw 0>;
> +			operating-points-v2 = <&cpu0_opp_table>;
> +			interconnects = <&gem_noc MASTER_AMPSS_M0 &mc_virt SLAVE_EBI_CH0>,
> +					<&epss_l3 MASTER_OSM_L3_APPS &epss_l3 SLAVE_OSM_L3>;
>   			#cooling-cells = <2>;
>   			L2_200: l2-cache {
>   				compatible = "cache";
> @@ -151,6 +160,9 @@ CPU3: cpu@300 {
>   			dynamic-power-coefficient = <205>;
>   			next-level-cache = <&L2_300>;
>   			qcom,freq-domain = <&cpufreq_hw 0>;
> +			operating-points-v2 = <&cpu0_opp_table>;
> +			interconnects = <&gem_noc MASTER_AMPSS_M0 &mc_virt SLAVE_EBI_CH0>,
> +					<&epss_l3 MASTER_OSM_L3_APPS &epss_l3 SLAVE_OSM_L3>;
>   			#cooling-cells = <2>;
>   			L2_300: l2-cache {
>   				compatible = "cache";
> @@ -167,6 +179,9 @@ CPU4: cpu@400 {
>   			dynamic-power-coefficient = <379>;
>   			next-level-cache = <&L2_400>;
>   			qcom,freq-domain = <&cpufreq_hw 1>;
> +			operating-points-v2 = <&cpu4_opp_table>;
> +			interconnects = <&gem_noc MASTER_AMPSS_M0 &mc_virt SLAVE_EBI_CH0>,
> +					<&epss_l3 MASTER_OSM_L3_APPS &epss_l3 SLAVE_OSM_L3>;
>   			#cooling-cells = <2>;
>   			L2_400: l2-cache {
>   				compatible = "cache";
> @@ -183,6 +198,9 @@ CPU5: cpu@500 {
>   			dynamic-power-coefficient = <379>;
>   			next-level-cache = <&L2_500>;
>   			qcom,freq-domain = <&cpufreq_hw 1>;
> +			operating-points-v2 = <&cpu4_opp_table>;
> +			interconnects = <&gem_noc MASTER_AMPSS_M0 &mc_virt SLAVE_EBI_CH0>,
> +					<&epss_l3 MASTER_OSM_L3_APPS &epss_l3 SLAVE_OSM_L3>;
>   			#cooling-cells = <2>;
>   			L2_500: l2-cache {
>   				compatible = "cache";
> @@ -200,6 +218,9 @@ CPU6: cpu@600 {
>   			dynamic-power-coefficient = <379>;
>   			next-level-cache = <&L2_600>;
>   			qcom,freq-domain = <&cpufreq_hw 1>;
> +			operating-points-v2 = <&cpu4_opp_table>;
> +			interconnects = <&gem_noc MASTER_AMPSS_M0 &mc_virt SLAVE_EBI_CH0>,
> +					<&epss_l3 MASTER_OSM_L3_APPS &epss_l3 SLAVE_OSM_L3>;
>   			#cooling-cells = <2>;
>   			L2_600: l2-cache {
>   				compatible = "cache";
> @@ -216,6 +237,9 @@ CPU7: cpu@700 {
>   			dynamic-power-coefficient = <444>;
>   			next-level-cache = <&L2_700>;
>   			qcom,freq-domain = <&cpufreq_hw 2>;
> +			operating-points-v2 = <&cpu7_opp_table>;
> +			interconnects = <&gem_noc MASTER_AMPSS_M0 &mc_virt SLAVE_EBI_CH0>,
> +					<&epss_l3 MASTER_OSM_L3_APPS &epss_l3 SLAVE_OSM_L3>;
>   			#cooling-cells = <2>;
>   			L2_700: l2-cache {
>   				compatible = "cache";
> @@ -260,6 +284,296 @@ core7 {
>   		};
>   	};
>   
> +	cpu0_opp_table: cpu0_opp_table {
> +		compatible = "operating-points-v2";
> +		opp-shared;
> +
> +		cpu0_opp1: opp-300000000 {
> +			opp-hz = /bits/ 64 <300000000>;
> +			opp-peak-kBps = <800000 9600000>;
> +		};
> +
> +		cpu0_opp2: opp-403200000 {
> +			opp-hz = /bits/ 64 <403200000>;
> +			opp-peak-kBps = <800000 9600000>;
> +		};
> +
> +		cpu0_opp3: opp-518400000 {
> +			opp-hz = /bits/ 64 <518400000>;
> +			opp-peak-kBps = <800000 16588800>;
> +		};
> +
> +		cpu0_opp4: opp-614400000 {
> +			opp-hz = /bits/ 64 <614400000>;
> +			opp-peak-kBps = <800000 16588800>;
> +		};
> +
> +		cpu0_opp5: opp-691200000 {
> +			opp-hz = /bits/ 64 <691200000>;
> +			opp-peak-kBps = <800000 19660800>;
> +		};
> +
> +		cpu0_opp6: opp-787200000 {
> +			opp-hz = /bits/ 64 <787200000>;
> +			opp-peak-kBps = <1804000 19660800>;
> +		};
> +
> +		cpu0_opp7: opp-883200000 {
> +			opp-hz = /bits/ 64 <883200000>;
> +			opp-peak-kBps = <1804000 23347200>;
> +		};
> +
> +		cpu0_opp8: opp-979200000 {
> +			opp-hz = /bits/ 64 <979200000>;
> +			opp-peak-kBps = <1804000 26419200>;
> +		};
> +
> +		cpu0_opp9: opp-1075200000 {
> +			opp-hz = /bits/ 64 <1075200000>;
> +			opp-peak-kBps = <1804000 29491200>;
> +		};
> +
> +		cpu0_opp10: opp-1171200000 {
> +			opp-hz = /bits/ 64 <1171200000>;
> +			opp-peak-kBps = <1804000 32563200>;
> +		};
> +
> +		cpu0_opp11: opp-1248000000 {
> +			opp-hz = /bits/ 64 <1248000000>;
> +			opp-peak-kBps = <1804000 36249600>;
> +		};
> +
> +		cpu0_opp12: opp-1344000000 {
> +			opp-hz = /bits/ 64 <1344000000>;
> +			opp-peak-kBps = <2188000 36249600>;
> +		};
> +
> +		cpu0_opp13: opp-1420800000 {
> +			opp-hz = /bits/ 64 <1420800000>;
> +			opp-peak-kBps = <2188000 39321600>;
> +		};
> +
> +		cpu0_opp14: opp-1516800000 {
> +			opp-hz = /bits/ 64 <1516800000>;
> +			opp-peak-kBps = <3072000 42393600>;
> +		};
> +
> +		cpu0_opp15: opp-1612800000 {
> +			opp-hz = /bits/ 64 <1612800000>;
> +			opp-peak-kBps = <3072000 42393600>;
> +		};
> +
> +		cpu0_opp16: opp-1708800000 {
> +			opp-hz = /bits/ 64 <1708800000>;
> +			opp-peak-kBps = <4068000 42393600>;
> +		};
> +
> +		cpu0_opp17: opp-1804800000 {
> +			opp-hz = /bits/ 64 <1804800000>;
> +			opp-peak-kBps = <4068000 42393600>;
> +		};
> +	};
> +
> +	cpu4_opp_table: cpu4_opp_table {
> +		compatible = "operating-points-v2";
> +		opp-shared;
> +
> +		cpu4_opp1: opp-710400000 {
> +			opp-hz = /bits/ 64 <710400000>;
> +			opp-peak-kBps = <1804000 19660800>;
> +		};
> +
> +		cpu4_opp2: opp-825600000 {
> +			opp-hz = /bits/ 64 <825600000>;
> +			opp-peak-kBps = <2188000 23347200>;
> +		};
> +
> +		cpu4_opp3: opp-940800000 {
> +			opp-hz = /bits/ 64 <940800000>;
> +			opp-peak-kBps = <2188000 26419200>;
> +		};
> +
> +		cpu4_opp4: opp-1056000000 {
> +			opp-hz = /bits/ 64 <1056000000>;
> +			opp-peak-kBps = <3072000 26419200>;
> +		};
> +
> +		cpu4_opp5: opp-1171200000 {
> +			opp-hz = /bits/ 64 <1171200000>;
> +			opp-peak-kBps = <3072000 29491200>;
> +		};
> +
> +		cpu4_opp6: opp-1286400000 {
> +			opp-hz = /bits/ 64 <1286400000>;
> +			opp-peak-kBps = <4068000 29491200>;
> +		};
> +
> +		cpu4_opp7: opp-1382400000 {
> +			opp-hz = /bits/ 64 <1382400000>;
> +			opp-peak-kBps = <4068000 32563200>;
> +		};
> +
> +		cpu4_opp8: opp-1478400000 {
> +			opp-hz = /bits/ 64 <1478400000>;
> +			opp-peak-kBps = <4068000 32563200>;
> +		};
> +
> +		cpu4_opp9: opp-1574400000 {
> +			opp-hz = /bits/ 64 <1574400000>;
> +			opp-peak-kBps = <5412000 39321600>;
> +		};
> +
> +		cpu4_opp10: opp-1670400000 {
> +			opp-hz = /bits/ 64 <1670400000>;
> +			opp-peak-kBps = <5412000 42393600>;
> +		};
> +
> +		cpu4_opp11: opp-1766400000 {
> +			opp-hz = /bits/ 64 <1766400000>;
> +			opp-peak-kBps = <5412000 45465600>;
> +		};
> +
> +		cpu4_opp12: opp-1862400000 {
> +			opp-hz = /bits/ 64 <1862400000>;
> +			opp-peak-kBps = <6220000 45465600>;
> +		};
> +
> +		cpu4_opp13: opp-1958400000 {
> +			opp-hz = /bits/ 64 <1958400000>;
> +			opp-peak-kBps = <6220000 48537600>;
> +		};
> +
> +		cpu4_opp14: opp-2054400000 {
> +			opp-hz = /bits/ 64 <2054400000>;
> +			opp-peak-kBps = <7216000 48537600>;
> +		};
> +
> +		cpu4_opp15: opp-2150400000 {
> +			opp-hz = /bits/ 64 <2150400000>;
> +			opp-peak-kBps = <7216000 51609600>;
> +		};
> +
> +		cpu4_opp16: opp-2246400000 {
> +			opp-hz = /bits/ 64 <2246400000>;
> +			opp-peak-kBps = <7216000 51609600>;
> +		};
> +
> +		cpu4_opp17: opp-2342400000 {
> +			opp-hz = /bits/ 64 <2342400000>;
> +			opp-peak-kBps = <8368000 51609600>;
> +		};
> +
> +		cpu4_opp18: opp-2419200000 {
> +			opp-hz = /bits/ 64 <2419200000>;
> +			opp-peak-kBps = <8368000 51609600>;
> +		};
> +	};
> +
> +	cpu7_opp_table: cpu7_opp_table {
> +		compatible = "operating-points-v2";
> +		opp-shared;
> +
> +		cpu7_opp1: opp-844800000 {
> +			opp-hz = /bits/ 64 <844800000>;
> +			opp-peak-kBps = <2188000 19660800>;
> +		};
> +
> +		cpu7_opp2: opp-960000000 {
> +			opp-hz = /bits/ 64 <960000000>;
> +			opp-peak-kBps = <2188000 26419200>;
> +		};
> +
> +		cpu7_opp3: opp-1075200000 {
> +			opp-hz = /bits/ 64 <1075200000>;
> +			opp-peak-kBps = <3072000 26419200>;
> +		};
> +
> +		cpu7_opp4: opp-1190400000 {
> +			opp-hz = /bits/ 64 <1190400000>;
> +			opp-peak-kBps = <3072000 29491200>;
> +		};
> +
> +		cpu7_opp5: opp-1305600000 {
> +			opp-hz = /bits/ 64 <1305600000>;
> +			opp-peak-kBps = <4068000 32563200>;
> +		};
> +
> +		cpu7_opp6: opp-1401600000 {
> +			opp-hz = /bits/ 64 <1401600000>;
> +			opp-peak-kBps = <4068000 32563200>;
> +		};
> +
> +		cpu7_opp7: opp-1516800000 {
> +			opp-hz = /bits/ 64 <1516800000>;
> +			opp-peak-kBps = <4068000 36249600>;
> +		};
> +
> +		cpu7_opp8: opp-1632000000 {
> +			opp-hz = /bits/ 64 <1632000000>;
> +			opp-peak-kBps = <5412000 39321600>;
> +		};
> +
> +		cpu7_opp9: opp-1747200000 {
> +			opp-hz = /bits/ 64 <1708800000>;
> +			opp-peak-kBps = <5412000 42393600>;
> +		};
> +
> +		cpu7_opp10: opp-1862400000 {
> +			opp-hz = /bits/ 64 <1862400000>;
> +			opp-peak-kBps = <6220000 45465600>;
> +		};
> +
> +		cpu7_opp11: opp-1977600000 {
> +			opp-hz = /bits/ 64 <1977600000>;
> +			opp-peak-kBps = <6220000 48537600>;
> +		};
> +
> +		cpu7_opp12: opp-2073600000 {
> +			opp-hz = /bits/ 64 <2073600000>;
> +			opp-peak-kBps = <7216000 48537600>;
> +		};
> +
> +		cpu7_opp13: opp-2169600000 {
> +			opp-hz = /bits/ 64 <2169600000>;
> +			opp-peak-kBps = <7216000 51609600>;
> +		};
> +
> +		cpu7_opp14: opp-2265600000 {
> +			opp-hz = /bits/ 64 <2265600000>;
> +			opp-peak-kBps = <7216000 51609600>;
> +		};
> +
> +		cpu7_opp15: opp-2361600000 {
> +			opp-hz = /bits/ 64 <2361600000>;
> +			opp-peak-kBps = <8368000 51609600>;
> +		};
> +
> +		cpu7_opp16: opp-2457600000 {
> +			opp-hz = /bits/ 64 <2457600000>;
> +			opp-peak-kBps = <8368000 51609600>;
> +		};
> +
> +		cpu7_opp17: opp-2553600000 {
> +			opp-hz = /bits/ 64 <2553600000>;
> +			opp-peak-kBps = <8368000 51609600>;
> +		};
> +
> +		cpu7_opp18: opp-2649600000 {
> +			opp-hz = /bits/ 64 <2649600000>;
> +			opp-peak-kBps = <8368000 51609600>;
> +		};
> +
> +		cpu7_opp19: opp-2745600000 {
> +			opp-hz = /bits/ 64 <2745600000>;
> +			opp-peak-kBps = <8368000 51609600>;
> +		};
> +
> +		cpu7_opp20: opp-2841600000 {
> +			opp-hz = /bits/ 64 <2841600000>;
> +			opp-peak-kBps = <8368000 51609600>;
> +		};
> +	};
> +
>   	firmware {
>   		scm: scm {
>   			compatible = "qcom,scm";
> 


-- 
With best wishes
Dmitry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ