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

From: Bjorn Andersson
Date: Fri Jan 26 2024 - 11:51:31 EST


On Fri, Jan 26, 2024 at 05:36:10PM +0100, Johan Hovold wrote:
> 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.
>

You're right, thanks for spotting that.

> > +
> > 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?
>

I optimistically interpreted Konrad's response as a promise by him to do
so ;)

I do like his patch which remove the poll-properties for non-polling
mode. Would be nice to not first change the values to 0 and then remove
the properties...

> Looks good to me otherwise:
>
> Reviewed-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
>

Thanks,
Bjorn

> Johan