Message ID | 20240126-sc8280xp-tsens2_3-v2-1-8504d18828de@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-40249-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:10c4:b0:103:8516:c03d with SMTP id sa4csp689289dyc; Fri, 26 Jan 2024 07:14:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IEhn5W+JlUV78HbH+i7hRR2Ot45F7evyBOieLMoOB5Oc7SQ+GiJu1L5mMTnGHewe3XcnQwE X-Received: by 2002:a05:6214:2a8b:b0:681:781f:6781 with SMTP id jr11-20020a0562142a8b00b00681781f6781mr2437955qvb.1.1706282040705; Fri, 26 Jan 2024 07:14:00 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706282040; cv=pass; d=google.com; s=arc-20160816; b=U7o+PAMWMSyFSJh4qGVL5Pf0Pgupz5io5VQwQ1zpeqOq79uzUxss2ZyOsrz7m+jY2n lnCF3M2b/lcU9pQGNCG5SppsR9PjIyon2lM8QRMXpS0nsJJrZsiDa3O2c+0Bui1WV/UL Ckbwn2/L8qsrLf+eC7TnPlXqz3RdRt4l9nloNOnlX7lKJqLuo53WSeY+iqw9vKlzjaJv oiBApL/kaxpKNfhfahEqHk/6ClqsIHyjwpiLop74isFPg8CFJ1enIwbHeKUhAuVqqkOY VDkGYxlAYhyS/YsHABHIbATpL7xPXD+3yapgQaYXh3T4EnXiINh6ntcTJeU+jI3PnU13 /SGg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=cc:to:message-id:content-transfer-encoding:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:subject:date :from:dkim-signature; bh=knCaqwLbRAz3GezKtQtpwgqOqAROHknpLYmHd715Ma4=; fh=ZJgmbYsxAHqpZW1iRcEUz53ZCM0QEFRuMCkfN1zbock=; b=La9I14+yKWf8jfdhtkgYUrUkopQ8tMC7uE4W+0gJ5jp2EdvNIiKdckUpUpxORxRY0u VH2DFTfTeuv0VVlaFE8wTSZmxncdi4R1P4GyQMI+UW/SuutoRFTeni/yBE6AEKdvq4J+ 4NKgtkfxpEzWMjlXU7UCzaSYXRwnobmBtGY7UxQQRC+uffg3Zpc3WJDnXA3DrZJbYxR1 mBdzNezA4tAxQpZh5XqhCj3u/+gFLJPwlsCtdnkLMOXckevKgoffwvMuIr+gVufQcDxf gU2NJ3p9aerRTgp2ny6bwrXQjv3icyvPLy3RHPSDeE8kkfWtuEMuPtH21ipwUWeQRFb0 l2kA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=cangrTtf; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-kernel+bounces-40249-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-40249-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id e5-20020a0562140d8500b0068192b1b623si1440891qve.470.2024.01.26.07.14.00 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Jan 2024 07:14:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-40249-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=cangrTtf; arc=pass (i=1 spf=pass spfdomain=quicinc.com dkim=pass dkdomain=quicinc.com dmarc=pass fromdomain=quicinc.com); spf=pass (google.com: domain of linux-kernel+bounces-40249-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-40249-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 3BA281C210A5 for <ouuuleilei@gmail.com>; Fri, 26 Jan 2024 15:14:00 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id AC9E71CFB2; Fri, 26 Jan 2024 15:13:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b="cangrTtf" Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 13F911CD23; Fri, 26 Jan 2024 15:13:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706282021; cv=none; b=KOHVEDjw3Uo7XS42Rc5m0E66ksdR7P9HJfNHiGfKg09GroSyJtdKWoajSJ3EXoLk6hmjCC8kGEizkpa8CZ2qzcQpFT5ChhpdKw5hFSfDmu3sduUcFWOLZdTyiDrakSvYCC2M8hSlLUDFGqKBQdXTzboRR+ohIqv8QL55rpPkc0Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706282021; c=relaxed/simple; bh=cuMZ0xohqpnrjE1sn+GN/bE3cXEaSruxpkeDOj/4obA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:To:CC; b=CRFxswmzN0gnfC3pkr+/nNj77yE14h3l1sRR6LSknCPpOGJW31ESK+bn4zeFnQdRakRhLXmbYHiZXFU7yPwsQxVt9q0CQgCqEud0kTnX2j1IfmjzsHO0oyg4GDPY82+LQdBZQ+r44k20EO/vRihDr3v8vdNh9JqplwR99R8eph4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com; spf=pass smtp.mailfrom=quicinc.com; dkim=pass (2048-bit key) header.d=quicinc.com header.i=@quicinc.com header.b=cangrTtf; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=quicinc.com Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 40QDmFdj018212; Fri, 26 Jan 2024 15:13:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= from:date:subject:mime-version:content-type :content-transfer-encoding:message-id:to:cc; s=qcppdkim1; bh=knC aqwLbRAz3GezKtQtpwgqOqAROHknpLYmHd715Ma4=; b=cangrTtfhNKiOkAnrxq 0XboSQkmRMe0bJMR8VkAF0tf99HjEGd+5cUqjMqAj60MF/QhWRxK5u6VQm8RgOMB XBwi4dZ/bQM4+DcYZl5IwF9rZBbnoW5ikO7iMwe5wL5ZjMaZfjTaMPhAtkTJFGko ifXJkZGCvAstptEIMxoFddw/W1ZRcseK9czgt6HkAuDr5aSi3Ff65i8gw1VCqgDg jrs0AYTa6Gw9f6pqEWK53EpvpscIdeQdTLek2RcZ0Lksl0B+SQHiBBZrjDLNphKS ypGMJlHuD22qeUFWeVsoF6lB5mYNQsjV+aiontEPWm//Yw008thNcMar6f6xc+T6 +Vg== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3vv6c8h4y9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 26 Jan 2024 15:13:30 +0000 (GMT) Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 40QFCpuN006039 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 26 Jan 2024 15:12:51 GMT Received: from [169.254.0.1] (10.49.16.6) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Fri, 26 Jan 2024 07:12:50 -0800 From: Bjorn Andersson <quic_bjorande@quicinc.com> Date: Fri, 26 Jan 2024 07:12:45 -0800 Subject: [PATCH v2] arm64: dts: qcom: sc8280xp: Introduce additional tsens instances Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-ID: <20240126-sc8280xp-tsens2_3-v2-1-8504d18828de@quicinc.com> X-B4-Tracking: v=1; b=H4sIAOzLs2UC/32NQQ6CMBBFr0JmbQ2tlFRX3sMQU9qpzMKCHSQY0 rtbOYDL95L//gaMiZDhUm2QcCGmMRZQhwrcYOMDBfnCoGrV1FIawc4oU6+TmBkjq/tJWB382Tb Gt1pD2U0JA61789YVHojnMX32i0X+7L/aIoUUaNreoWxC24fr602Ooju68QldzvkLWyXO2LQAA AA= To: Bjorn Andersson <andersson@kernel.org>, Konrad Dybcio <konrad.dybcio@linaro.org>, Rob Herring <robh+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org> CC: <linux-arm-msm@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, Johan Hovold <johan@kernel.org>, "Bjorn Andersson" <quic_bjorande@quicinc.com> X-Mailer: b4 0.12.4 X-Developer-Signature: v=1; a=ed25519-sha256; t=1706281970; l=2337; i=quic_bjorande@quicinc.com; s=20230915; h=from:subject:message-id; bh=cuMZ0xohqpnrjE1sn+GN/bE3cXEaSruxpkeDOj/4obA=; b=ijny0goOnqHSWBi7mijP0EEhHd9vvASaf3FCUOX34zm9hoc2TmcYvP2FHOrRw7mcbDfY8N0fh IHB4Mm0Hk6sA4eP6lRF4sXyzNfwbNJpS4QIUygYQdhg1UwPbaW77RMC X-Developer-Key: i=quic_bjorande@quicinc.com; a=ed25519; pk=VkhObtljigy9k0ZUIE1Mvr0Y+E1dgBEH9WoLQnUtbIM= X-ClientProxiedBy: nalasex01c.na.qualcomm.com (10.47.97.35) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: dpkZ8ZTPRsSbMbW6gUZELkhTwxU_auXt X-Proofpoint-ORIG-GUID: dpkZ8ZTPRsSbMbW6gUZELkhTwxU_auXt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-25_14,2024-01-25_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 mlxlogscore=606 priorityscore=1501 bulkscore=0 mlxscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 clxscore=1015 spamscore=0 suspectscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2401190000 definitions=main-2401260112 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1789166397140002586 X-GMAIL-MSGID: 1789166397140002586 |
Series |
[v2] arm64: dts: qcom: sc8280xp: Introduce additional tsens instances
|
|
Commit Message
Bjorn Andersson
Jan. 26, 2024, 3:12 p.m. UTC
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@quicinc.com>
---
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@quicinc.com
---
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 37 ++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)
---
base-commit: 943b9f0ab2cfbaea148dd6ac279957eb08b96904
change-id: 20240118-sc8280xp-tsens2_3-a5fd9a48d655
Best regards,
Comments
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@quicinc.com> > --- > 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@quicinc.com > --- > 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@kernel.org> Johan
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@quicinc.com> > > --- > > 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@quicinc.com > > --- > > 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@kernel.org> > Thanks, Bjorn > Johan
On Fri, Jan 26, 2024 at 08:51:13AM -0800, Bjorn Andersson wrote: > On Fri, Jan 26, 2024 at 05:36:10PM +0100, Johan Hovold wrote: > > 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... No, that should not be an issue as it allows us to get rid of the polling without waiting for a binding update which may or may not materialise in 6.9-rc1. But whoever updates those properties need to do some proper testing to make sure that those interrupts really work. Johan
On 26.01.2024 16:12, 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@quicinc.com> > --- > 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@quicinc.com > --- > 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>; With the sorting issue that Johan mentioned resolved: Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad
On 26.01.2024 18:00, Johan Hovold wrote: > On Fri, Jan 26, 2024 at 08:51:13AM -0800, Bjorn Andersson wrote: >> On Fri, Jan 26, 2024 at 05:36:10PM +0100, Johan Hovold wrote: > >>> 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... That was my intention as well.. > > No, that should not be an issue as it allows us to get rid of the > polling without waiting for a binding update which may or may not > materialise in 6.9-rc1. If you really insist, I may do that, but if the thermal guys act on it quickly and we negotiate an immutable branch, we can simply but atop it, saving the submitter timeof(patchset), the reviewers timeof(verify), the build bots timeof(builds) and the applier timeof(pick-build-push).. > > But whoever updates those properties need to do some proper testing to > make sure that those interrupts really work. They seem to, check /proc/interrupts before and after adding an e.g. 45degC trip point on one of the CPU thermal zones, they fire aplenty. Konrad
On Fri, Jan 26, 2024 at 10:23:41PM +0100, Konrad Dybcio wrote: > On 26.01.2024 18:00, Johan Hovold wrote: > > On Fri, Jan 26, 2024 at 08:51:13AM -0800, Bjorn Andersson wrote: > >> On Fri, Jan 26, 2024 at 05:36:10PM +0100, Johan Hovold wrote: > > > >>> 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... > > That was my intention as well.. > > > > > No, that should not be an issue as it allows us to get rid of the > > polling without waiting for a binding update which may or may not > > materialise in 6.9-rc1. > > If you really insist, I may do that, but if the thermal guys act on it > quickly and we negotiate an immutable branch, we can simply but atop it, > saving the submitter timeof(patchset), the reviewers timeof(verify), the > build bots timeof(builds) and the applier timeof(pick-build-push).. Why would introduce such a dependency for really no good reason? Submit a patch based on the current binding, then when/if your proposed binding update hits mainline, you can send a *single* patch dropping the parameters from all qualcomm dtsi. Updating the binding is a separate and lower priority task. In fact, it may not even be desirable at all as an omission of adding these parameters could then lead to broken thermal management on platforms where the interrupts do not work. Having an explicit poll-delay of zero at least gives people a reason to think about it when merging a new platform. But again, that's a separate discussion. Don't make this patch depend on that. > > But whoever updates those properties need to do some proper testing to > > make sure that those interrupts really work. > > They seem to, check /proc/interrupts before and after adding an e.g. 45degC > trip point on one of the CPU thermal zones, they fire aplenty. That's not proper testing. Add/enable debugging in the thermal driver and make sure that you trigger precisely once when passing the threshold in both directions. Johan
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>; + }; + 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"; + }; + }; + }; + mem-thermal { polling-delay-passive = <250>; polling-delay = <1000>;