Re: [PATCH v2] arm64: dts: qcom: sc8280xp: Introduce additional tsens instances

From: Johan Hovold
Date: Fri Jan 26 2024 - 11:36:10 EST


On Fri, Jan 26, 2024 at 07:12:45AM -0800, Bjorn Andersson wrote:
> The SC8280XP contains two additional tsens instances, providing among
> other things thermal measurements for the GPU.
>
> Add these and a GPU thermal-zone.
>
> Signed-off-by: Bjorn Andersson <quic_bjorande@xxxxxxxxxxx>
> ---
> Changes in v2:
> - Drop TM/SROT comments
> - Remove polling delays, rely on interrupts
> - Link to v1: https://lore.kernel.org/r/20240118-sc8280xp-tsens2_3-v1-1-e86bce14f6bf@xxxxxxxxxxx
> ---
> arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 37 ++++++++++++++++++++++++++++++++++
> 1 file changed, 37 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> index febf28356ff8..7bfbb1bd8f4a 100644
> --- a/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> +++ b/arch/arm64/boot/dts/qcom/sc8280xp.dtsi
> @@ -4033,6 +4033,28 @@ tsens1: thermal-sensor@c265000 {
> #thermal-sensor-cells = <1>;
> };
>
> + tsens2: thermal-sensor@c251000 {
> + compatible = "qcom,sc8280xp-tsens", "qcom,tsens-v2";
> + reg = <0 0x0c251000 0 0x1ff>,
> + <0 0x0c224000 0 0x8>;
> + #qcom,sensors = <11>;
> + interrupts-extended = <&pdc 122 IRQ_TYPE_LEVEL_HIGH>,
> + <&pdc 124 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "uplow", "critical";
> + #thermal-sensor-cells = <1>;
> + };
> +
> + tsens3: thermal-sensor@c252000 {
> + compatible = "qcom,sc8280xp-tsens", "qcom,tsens-v2";
> + reg = <0 0x0c252000 0 0x1ff>,
> + <0 0x0c225000 0 0x8>;
> + #qcom,sensors = <5>;
> + interrupts-extended = <&pdc 123 IRQ_TYPE_LEVEL_HIGH>,
> + <&pdc 125 IRQ_TYPE_LEVEL_HIGH>;
> + interrupt-names = "uplow", "critical";
> + #thermal-sensor-cells = <1>;
> + };

These should go before tsens0 based on the unit address.

> +
> aoss_qmp: power-management@c300000 {
> compatible = "qcom,sc8280xp-aoss-qmp", "qcom,aoss-qmp";
> reg = <0 0x0c300000 0 0x400>;
> @@ -5212,6 +5234,21 @@ cpu-crit {
> };
> };
>
> + gpu-thermal {
> + polling-delay-passive = <0>;
> + polling-delay = <0>;
> +
> + thermal-sensors = <&tsens2 2>;
> +
> + trips {
> + cpu-crit {
> + temperature = <110000>;
> + hysteresis = <1000>;
> + type = "critical";
> + };
> + };
> + };

Shall you submit a follow-on patch to set the polling delays to zero
for the other thermal zones (cpu, cluster, mem) so that we don't poll
for those?

Looks good to me otherwise:

Reviewed-by: Johan Hovold <johan+linaro@xxxxxxxxxx>

Johan