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] [day] [month] [year] [list]
Message-ID: <16cdcbe6-510b-4a9a-9341-eb600f34e595@linaro.org>
Date: Wed, 29 Jan 2025 15:39:28 +0100
From: Neil Armstrong <neil.armstrong@...aro.org>
To: Bjorn Andersson <andersson@...nel.org>,
 Konrad Dybcio <konradybcio@...nel.org>, Rob Herring <robh@...nel.org>,
 Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+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: sm8650: harmonize all unregulated
 thermal trip points

Hi,

On 29/01/2025 11:40, Neil Armstrong wrote:
> While the CPUs thermal is handled by the LMH, and GPU has a passive
> cooldowm via the HLOS DCVS, all the other thermal blocks only have
> hot and critical and no passive/active trip points.
> 
> Passive or active thermal management for those blocks should
> be either defined if somehow we can express those in DT or
> in the board definition if there's an active cooling device
> available.
> 
> Cleanup the trip points names and adjust the temperatures to
> the downstream reference implementation where the following
> trip points are defined:
> - "reset-mon" to 115C
> - "thermal-engine" to 125C
> where we can map them to hot and critical trip points.
> 
> In the case a passive or active cooling device would be
> available, the downstream reference implementation uses
> the 95C "tj" trip point, as we already use for the
> gpuss thermal blocks.

As I was told, the tsens MAX_THRESHOLD which leads to a system
monitor thermal shutdown is set at 120C, so I need to update this
patch accordingly.

Neil

> 
> Signed-off-by: Neil Armstrong <neil.armstrong@...aro.org>
> ---
> Depends on:
> - https://lore.kernel.org/all/20250129-topic-sm8650-thermal-cpu-idle-v3-0-62ab1a64098d@linaro.org/
> ---
>   arch/arm64/boot/dts/qcom/sm8650.dtsi | 170 +++++++++++++++++------------------
>   1 file changed, 85 insertions(+), 85 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/sm8650.dtsi b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> index 3ec3a65ddd612e83cab6a1f574813aed2e99b4cf..0dd81aad8c5b6e710b31f489205444b154d898be 100644
> --- a/arch/arm64/boot/dts/qcom/sm8650.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sm8650.dtsi
> @@ -5843,14 +5843,14 @@ aoss0-thermal {
>   			thermal-sensors = <&tsens0 0>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				aoss0-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				aoss0-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -5861,14 +5861,14 @@ cpuss0-thermal {
>   			thermal-sensors = <&tsens0 1>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				cpuss0-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				cpuss0-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -5879,14 +5879,14 @@ cpuss1-thermal {
>   			thermal-sensors = <&tsens0 2>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				cpuss1-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				cpuss1-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -5897,14 +5897,14 @@ cpuss2-thermal {
>   			thermal-sensors = <&tsens0 3>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				cpuss2-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				cpuss2-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -5915,14 +5915,14 @@ cpuss3-thermal {
>   			thermal-sensors = <&tsens0 4>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				cpuss3-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				cpuss3-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6053,14 +6053,14 @@ aoss1-thermal {
>   			thermal-sensors = <&tsens1 0>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				aoss1-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				aoss1-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6133,14 +6133,14 @@ nsphvx0-thermal {
>   			thermal-sensors = <&tsens2 6>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				nsphvx0-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
> -				nsphvx1-critical {
> -					temperature = <110000>;
> +				nsphvx0-critical {
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6153,14 +6153,14 @@ nsphvx1-thermal {
>   			thermal-sensors = <&tsens2 7>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				nsphvx1-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				nsphvx1-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6173,14 +6173,14 @@ nsphmx0-thermal {
>   			thermal-sensors = <&tsens2 8>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				nsphmx0-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				nsphmx0-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6193,14 +6193,14 @@ nsphmx1-thermal {
>   			thermal-sensors = <&tsens2 9>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				nsphmx1-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				nsphmx1-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6213,14 +6213,14 @@ nsphmx2-thermal {
>   			thermal-sensors = <&tsens2 10>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				nsphmx2-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				nsphmx2-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6233,14 +6233,14 @@ nsphmx3-thermal {
>   			thermal-sensors = <&tsens2 11>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				nsphmx3-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				nsphmx3-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6253,14 +6253,14 @@ video-thermal {
>   			thermal-sensors = <&tsens1 12>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				video-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				video-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6273,14 +6273,14 @@ ddr-thermal {
>   			thermal-sensors = <&tsens1 13>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				ddr-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				ddr-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6291,14 +6291,14 @@ camera0-thermal {
>   			thermal-sensors = <&tsens1 14>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				camera0-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				camera0-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6309,14 +6309,14 @@ camera1-thermal {
>   			thermal-sensors = <&tsens1 15>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				camera1-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				camera1-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6327,14 +6327,14 @@ aoss2-thermal {
>   			thermal-sensors = <&tsens2 0>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				aoss2-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				aoss2-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6609,14 +6609,14 @@ modem0-thermal {
>   			thermal-sensors = <&tsens2 9>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				modem0-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				modem0-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6627,14 +6627,14 @@ modem1-thermal {
>   			thermal-sensors = <&tsens2 10>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				modem1-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				modem1-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6645,14 +6645,14 @@ modem2-thermal {
>   			thermal-sensors = <&tsens2 11>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				modem2-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				modem2-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> @@ -6663,14 +6663,14 @@ modem3-thermal {
>   			thermal-sensors = <&tsens2 12>;
>   
>   			trips {
> -				trip-point0 {
> -					temperature = <90000>;
> -					hysteresis = <2000>;
> +				modem3-hot {
> +					temperature = <115000>;
> +					hysteresis = <5000>;
>   					type = "hot";
>   				};
>   
>   				modem3-critical {
> -					temperature = <110000>;
> +					temperature = <125000>;
>   					hysteresis = <0>;
>   					type = "critical";
>   				};
> 
> ---
> base-commit: 2616c1ec96d966abb922248fe48b12dbd4297dfc
> change-id: 20250129-topic-sm8650-other-thermal-fixes-72a431ca91a5
> 
> Best regards,


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ