From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E4A78C001DF for ; Fri, 20 Oct 2023 11:31:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377080AbjJTLb3 (ORCPT ); Fri, 20 Oct 2023 07:31:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49242 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377008AbjJTLb2 (ORCPT ); Fri, 20 Oct 2023 07:31:28 -0400 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9B8051A8 for ; Fri, 20 Oct 2023 04:31:24 -0700 (PDT) Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-9bdf5829000so111694766b.0 for ; Fri, 20 Oct 2023 04:31:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1697801483; x=1698406283; darn=vger.kernel.org; h=in-reply-to:references:subject:cc:to:from:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=wq2xrfNltYx9WSMnF1/a8wXflPx/W1Agx/pfa3OmDS8=; b=RHXNqmjaBKZTAcM5cWSGFFK5xghL1oI26DeoGCEFtbVthNIDcTg2ELcd2vLHvvVaaz Xmh/8gCaHAr2HsEgV3K6m0rWirq5bHfp/mU7wQlJ6VvjDfREp98Ei1dfXUuE9DiYUupB +pqHHUkMwkPiDNfCK4m4100Ob6tErA1krpZWae9F9XQt1fDpuKZhCBPVs4yklwzqvk0b k506piHOxXfr9yCopSZ66h7BlDeTjdbZYoDoo1lymXjsti1vPAE+qFbinJYHxuI7U6C/ CvJE5kkfwYhPiB/Uit5AmFBRXUfbTw4aFC627iaWd5NdraVa00wU40xB44PDT/P2Z7CY kYUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697801483; x=1698406283; h=in-reply-to:references:subject:cc:to:from:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=wq2xrfNltYx9WSMnF1/a8wXflPx/W1Agx/pfa3OmDS8=; b=hgYb7O0xk07X5E2Tm/7NmTd3KyFlX/YpqpqKu246AptxVuW1M5IVWuhid3XRIvfO4Z wZoiDgybOr9jIgi4mskPHH3CsnCdJQdv7TUFhTTR7UeHU92x1KzcV/NplTlumecTKUEC LrxqWtFpo94JOG+cE3strQquWhMwknKh4kGO1hncAkQFSIlsz7pePVfoU6tWjHY/okDL ZU2YMSOh33pW7gBY0zuLheJOTv/qlLXk66W+4XI/0LJLa2c9XfVVDCd9c4ZzHfTXSbuw +Q+2q/LzkOTtpJGHKVMduYMB9cmlZWHVQa8r3us4QqRkahKB/0yrAv8qvoqU+LTyM22t 23XA== X-Gm-Message-State: AOJu0Yzm2j5pEd9MNmjequ/sEBcKgBYfrdLZhCPb32fDxMXWF8Jgeymu P7FtMPPKeNqchGKoq3Dj0vcOig== X-Google-Smtp-Source: AGHT+IEoeeFassbx3MNsZzZQpCjvyxQFxuHG8gi+lfJpmHgfzm7BufAONGqis7o9C64A7nCYKhEJSA== X-Received: by 2002:a17:906:c112:b0:9a5:846d:d81f with SMTP id do18-20020a170906c11200b009a5846dd81fmr1026518ejc.17.1697801483081; Fri, 20 Oct 2023 04:31:23 -0700 (PDT) Received: from localhost (k10064.upc-k.chello.nl. [62.108.10.64]) by smtp.gmail.com with ESMTPSA id o14-20020a17090611ce00b009b29553b648sm1279266eja.206.2023.10.20.04.31.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Oct 2023 04:31:22 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Fri, 20 Oct 2023 13:31:21 +0200 Message-Id: From: "Luca Weiss" To: "Konrad Dybcio" , "Luca Weiss" , "Andy Gross" , "Bjorn Andersson" , "Jonathan Cameron" , "Lars-Peter Clausen" , "Rob Herring" , "Krzysztof Kozlowski" , "Conor Dooley" , <~postmarketos/upstreaming@lists.sr.ht> Cc: , , , , Subject: Re: [PATCH 4/4] arm64: dts: qcom: qcm6490-fairphone-fp5: Add PM7325 thermals X-Mailer: aerc 0.15.2 References: <20231013-fp5-thermals-v1-0-f14df01922e6@fairphone.com> <20231013-fp5-thermals-v1-4-f14df01922e6@fairphone.com> <34da335e-cbcd-4dc2-8a86-f31369db1fcd@linaro.org> <4958673.31r3eYUQgx@z3ntu.xyz> <5ac0d16a-0303-46c7-a008-31280629cc11@linaro.org> In-Reply-To: <5ac0d16a-0303-46c7-a008-31280629cc11@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-iio@vger.kernel.org On Wed Oct 18, 2023 at 10:28 PM CEST, Konrad Dybcio wrote: > > > On 10/14/23 19:52, Luca Weiss wrote: > > On Samstag, 14. Oktober 2023 01:13:29 CEST Konrad Dybcio wrote: > >> On 13.10.2023 10:09, Luca Weiss wrote: > >>> Configure the thermals for the QUIET_THERM, CAM_FLASH_THERM, MSM_THER= M > >>> and RFC_CAM_THERM thermistors connected to PM7325. > >>> > >>> With this PMIC the software communication to the ADC is going through > >>> PMK7325 (=3D PMK8350). > >>> > >>> Signed-off-by: Luca Weiss > >>> --- > >>> > >>> arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts | 117 > >>> +++++++++++++++++++++ 1 file changed, 117 insertions(+) > >>> > >>> diff --git a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts > >>> b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts index > >>> 2c01f799a6b2..d0b1e4e507ff 100644 > >>> --- a/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts > >>> +++ b/arch/arm64/boot/dts/qcom/qcm6490-fairphone-fp5.dts > >>> @@ -9,6 +9,7 @@ > >>> > >>> #define PM7250B_SID 8 > >>> #define PM7250B_SID1 9 > >>> > >>> +#include > >>> > >>> #include > >>> #include > >>> #include > >>> > >>> @@ -137,6 +138,20 @@ afvdd_2p8: regulator-afvdd-2p8 { > >>> > >>> }; > >>> =09 > >>> thermal-zones { > >>> > >>> + camera-thermal { > >>> + polling-delay-passive =3D <0>; > >>> + polling-delay =3D <0>; > >>> + thermal-sensors =3D <&pmk8350_adc_tm 2>; > >>> + > >>> + trips { > >>> + active-config0 { > >>> + temperature =3D <125000>; > >> > >> are > >> > >>> + rear-cam-thermal { > >>> > >>> + temperature =3D <125000>; > >> > >> you > >> > >>> + sdm-skin-thermal { > >>> > >>> + temperature =3D <125000>; > >> > >> sure > >> > >> about these temps? > >=20 > > (email from my other address, quicker right now) > >=20 > > Well yes and no. > >=20 > > Yes as in those are the temps specified in downstream dtb. > > No as in I'm 99% sure there's user space with definitely lower threshol= d that > > actually does something in response to the temps. > >=20 > > I didn't look too much into this but does the kernel even do something = when it > > hits one of these trip points? I assume when there's a cooling device t= hing > > specified then it can actually tell the driver to do something, but wit= hout > > (and most drivers don't support this?) I'm assuming the kernel can't do= much > > anyways? > >=20 > > So e.g. when the temperature for the flash led is reached I'm assuming > > downstream (+Android) either dims the led or turns it off? But I'd have= to dig > > quite a bit into the thermal setup there to check what it's really doin= g. > I think reaching "critical" shuts down the platform, unless something > registering the thermal zone explicitly overrides the behavior. Should probably be easy to test, especially the camera flash thermal zone heats up *very* quickly when the flash is on, so should be trivial to set the trip point down from 125degC to e.g. 45degC and see what happens. So I did this and... nothing happened. I watched /sys/class/thermal/thermal_zone34/temp climb above 45degC and nothing happened. I guess trip type being "passive" and no cooling-device makes it not do anything. =3D=3D> /sys/class/thermal/thermal_zone34/trip_point_0_hyst <=3D=3D 1000 =3D=3D> /sys/class/thermal/thermal_zone34/trip_point_0_temp <=3D=3D 45000 =3D=3D> /sys/class/thermal/thermal_zone34/trip_point_0_type <=3D=3D passive >From Documentation/devicetree/bindings/thermal/thermal-zones.yaml: - active # enable active cooling e.g. fans - passive # enable passive cooling e.g. throttling cpu - hot # send notification to driver - critical # send notification to driver, trigger shutdown So unless we want to just shut down the system (with "critical"), I don't think thermal can't really do anything else right now, since e.g. leds-qcom-flash.c driver doesn't have any cooling support to lower the brightness or turn off the LED. So.. in essence not much we can do right now. But seems we also cannot remove this (kinda useless) trip since we need at least one trip point in the dts if I read the bindings yaml correctly. > > >=20 > > But for now I think it's okay to put this current thermal config into d= ts and > > we'll improve it later when 1. I understand more and 2. maybe some usef= ul > > drivers support the cooling bits? > Yeah it's better than nothing, but ultimately we should probably move > the values that userspace daemon operates on here in the dt.. For sure.. I spent a bit of time looking into the proprietary Qualcomm thermal-daemon sources but didn't really see much interesting things there for this platform, maybe some of this thermal handling is somewhere else - or half of these thermal zones aren't even used with Android. So.. good to get the current patch upstream or not? :) Regards Luca > > Konrad