From mboxrd@z Thu Jan 1 00:00:00 1970 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 34C3E3F58FB for ; Thu, 18 Jun 2026 13:02:03 +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=1781787724; cv=none; b=KbY6YGKdy4dzrZSUEYuIi0xiVi7nw9O5naJ9nyao6qJLuZx0OLyKl7yPXIhk5NkIhPIGyD3BpN9GKzKNxyPEXGnbbLBTaRENPYXdiPvR/RnoVtVD6LSOTdwGcr1vBGcqtDmFi7djRzLbYNLU+l+ktow+oPas74aQXBBUW/HmDJg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781787724; c=relaxed/simple; bh=OiBvJGA3rcBVkwv/W5Exjcj+7CrWvutuFaR7iOPWQ6c=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=YBUVJCLz77PhZZ089fdb0JhzrKIXK7tU4FuZun3YaR5LmJ4CpxCBiWl7qc8WadOmXrHbLXG/x00bAbnAvDBm3BlbxOatvXdFqsjw1NvOxAOMrQWuKdcGGy3hRAyF6MTOUfxN8Y8xF9xKSc16vMikdwTOvfEROwamQqkFMivoNPc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=NHVLGIPg; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kCTM7+Es; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="NHVLGIPg"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kCTM7+Es" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65ICuTpn1638797 for ; Thu, 18 Jun 2026 13:02:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= drBtdZI1GgQ6oz1Wq7kAcWt1WrFzuxR5m4b03USirw4=; b=NHVLGIPgdZ+BBsyb fGjwFfMjLWbk4ynHrjgQJju4rivyvZp2sPxy50Y7WPlE9XIKqnAGhfgtnO8nY062 ++GAlMsL1C1fcy/FR3HdyYSYeR5Vmr8XIdnts4/h7j/GHJG1nr7dRQmTe/jYliC7 cUJcTvh+XBy4xosXU+35p1rqdLIDJVx1mpBkgrd7mtwPf2RYK2sL9dsXbjyv+R4X Icy3Je4RAjq7BaTbdJvy34+5GyeORQY6O61cOZdHpVlDUZqysQ8qbZNtv9koFZz2 OGSl043JFByRmP1BO+Jo+i52+a+YlVLH2fIO/De46CJ7EQcUOVupin4Ma7x8pkcW RrXjWg== Received: from mail-ot1-f69.google.com (mail-ot1-f69.google.com [209.85.210.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ev1rtua6j-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 13:02:02 +0000 (GMT) Received: by mail-ot1-f69.google.com with SMTP id 46e09a7af769-7e6f5350426so352077a34.1 for ; Thu, 18 Jun 2026 06:02:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781787721; x=1782392521; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=drBtdZI1GgQ6oz1Wq7kAcWt1WrFzuxR5m4b03USirw4=; b=kCTM7+EswPia1x2lIpFRtz8VFRCo0qvEegKwrKash3c4F0TkvAfQSjGFrdoHhfcYQt n/YJdzUC2ycdzv4L7dMeZ0yPOPVDGCCAX/E/CLRpVPd4L5T657v8fgoGUaQnmUD0FuE4 KCd2Xg0z0BfBa4ZAfcEe+d63mOU1lp+LhKyD9S0OOSFDBBFf+duw2vD6MmA9b27o4Imh PN9JaN+M5mA681qZwjFdQNWKvveLQhM8ya5ab4lOvZZ6Ir9rnDQ97WK129ZNrYbwlhVp TAlwlBn4bRyidwthezLS+uTtvZx8HHl9PWnEMEOu3w4Glz55kccpwgRyojUE04K6qAF9 lElw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781787721; x=1782392521; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=drBtdZI1GgQ6oz1Wq7kAcWt1WrFzuxR5m4b03USirw4=; b=cW5adl4Hpb7SJ3RL8/b9CaFJebeyAsfHWXExKskNdZtPWkb/Fk4+TbLrpTPPPZLVgc 0FKp0LX/TeyOiKov/Utl8tfBNG23zMOQT7ASUVwjLWd+evnkb3GM9KwvZBTuTwh3DTW5 9NZSx4Y0eRNLxZQtxrFDxvJokikA+EPfHRDvGscf7BQEQf/S2m5Hu5DMx2gbk/bcIIWp fohfoo18Ma2pq+auisxGf4EmUgbOxeGNpiRorbAF3g2d+RobACxN7cXMuxX+03vqqlpt 341UWD/bjnK2PoDjRyPEJOHME858WqD7NDtSV1yrUJKmgfvNpBbH0zgMb45NGNLOhCiw 7i5w== X-Forwarded-Encrypted: i=1; AFNElJ+BdicVZ8BvmXhzvItUaCLwX1cG4eHroI0jRHt/7ZuLkg4blDa94P6WnWL2WHcFp0AWv+mEp9Xrz1POQPM=@vger.kernel.org X-Gm-Message-State: AOJu0YyTQtoneMRAxRpDHSllXncGUWKRcxvzm/obSJW6qhYZTeG6cSYO W+peWSqCZHyXfnmg9OTpzRw9W1IZ74hV5gWjmrRMsPg3DSj5Jb1V1COgvOxlPM2YyFdEDTGM+SB t01LJG1C4YfXDLOMCN1o9Kz/Mook2Bmkmpz279HUroYyHxJ8+TkMgyJJ4iXq9PKU4RDM= X-Gm-Gg: Acq92OFnjp4qoG6fRzn3swKdlqPM23NCnsiYNEA2cncyJmvUNP1BQjaS72Q/2yXpF9g DJhNyv50tRkfvrnBoP27aIBromy9KqKaBtzpjPihwJ2lLOvymjui/Ku66meXLQbI951Y5aIjcuc ABb/UDwOcb0Tl7FnTnR3XjuuK8Nn6Mg2T0fDKgmjGxXAaCG4fZ5li64dK1Jy0Re/ERmE3qglizx u5dsEuVb8lXy4hmwKjnAR8pfS1N0DJfIMUJGuFMnyrqz8jb9QtfJzWy84gKZwZeTTI4uPa9+AQ1 9hQ9TIl1lSWwQY4gwfckkO7QbOK0rW4j7MsBWSzRFu0Oc3LmdlPrE8mdgDK5feud0k39u2lahnk 3/uKAsy4FcZLYfb8Z9lmNixCMZ9i6zZYwQgE= X-Received: by 2002:a05:6830:8383:b0:7d7:ea6e:322b with SMTP id 46e09a7af769-7e91be85760mr1719052a34.0.1781787721269; Thu, 18 Jun 2026 06:02:01 -0700 (PDT) X-Received: by 2002:a05:6830:8383:b0:7d7:ea6e:322b with SMTP id 46e09a7af769-7e91be85760mr1718455a34.0.1781787717537; Thu, 18 Jun 2026 06:01:57 -0700 (PDT) Received: from [192.168.120.170] ([178.235.128.140]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bfdb4420570sm954142466b.11.2026.06.18.06.01.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 18 Jun 2026 06:01:56 -0700 (PDT) Message-ID: Date: Thu, 18 Jun 2026 15:01:54 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v11 1/6] soc: qcom: ice: Add OPP-based clock scaling support for ICE To: Abhinaba Rakshit , Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Adrian Hunter , Ulf Hansson , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Neeraj Soni , Harshal Dev , Kuldeep Singh Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-mmc@vger.kernel.org, devicetree@vger.kernel.org References: <20260609-enable-ice-clock-scaling-v11-0-1cebc8b3275b@oss.qualcomm.com> <20260609-enable-ice-clock-scaling-v11-1-1cebc8b3275b@oss.qualcomm.com> Content-Language: en-US From: Konrad Dybcio In-Reply-To: <20260609-enable-ice-clock-scaling-v11-1-1cebc8b3275b@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Authority-Analysis: v=2.4 cv=MNpQXsZl c=1 sm=1 tr=0 ts=6a33ec4a cx=c_pps a=z9lCQkyTxNhZyzAvolXo/A==:117 a=PRfkaYvzSr8QmIIGAkY2Sg==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=EUspDBNiAAAA:8 a=nM57NVUx0yqqE4FGInsA:9 a=QEXdDO2ut3YA:10 a=EyFUmsFV_t8cxB2kMr4A:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDEyMSBTYWx0ZWRfXwWJ5RM6E2CLU miDsCJVLhOxiENypmEiLBXVw2OUEu8meftZ9Vu8ALOTYiKGWk71jrP8nc7w1p0X317dsO4RWrGE S4vYcnjqY1pDqy1m+l5Atc0/C9o8cZJun1QXL7iLPMAwcI/e8mtxUCpDqEmJBYmpH9Ba4+Rb30f hCBA4v+9WVpyGA+f3hu5Q9SHFimohrChMEbM9kC7274shyysyENtj2/O1IGpWbw2kqjBr5fOexQ gkLTdh6+3Ke91njJ9kb4AKSnVd6GVOz0ZxGm9EUH9gjlXgnmEah8Yz0w0A5dbZ4fxTyxbPdJ8xD 77TU52tCry9e63Lq3mjLxx1M1U/sY8dAUzipQEFXojnxmyeGr338Q48f0Nmc7xPRGjou0KJx6E2 BB2ritIkYAOO3ubJ+L8BOJX7eibxHULxSbOvZDR6GhzQDRLoQ0ridEsA+Gj1hkqMv40He047n9T 5u6fKO1QHgWKN85jA4g== X-Proofpoint-ORIG-GUID: Bh_sauP781ntp0D6sgkQPr5xWJkwH5dp X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDEyMSBTYWx0ZWRfXwZ/JqWb/51RA 0nFw1DAJPDVcobnV0ZnutNX6NqkhzGtR0KcC0ZWEMHCmLR9pLCleGUn8w9n+yyK/y9UqSft9SpS 4ANYKCtHbtH9dWXMG++i/XuSFi8WhJY= X-Proofpoint-GUID: Bh_sauP781ntp0D6sgkQPr5xWJkwH5dp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-18_01,2026-06-18_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0 spamscore=0 impostorscore=0 clxscore=1015 malwarescore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180121 On 6/8/26 11:47 PM, Abhinaba Rakshit wrote: > Register optional operation-points-v2 table for ICE device > during device probe. Attach the OPP-table with only the ICE > core clock. Since, dtbinding is on a transition phase to include > iface clock and clock-names, attaching the opp-table to core clock > remains optional such that it does not cause probe failures. > > Introduce clock scaling API qcom_ice_scale_clk which scale ICE > core clock based on the target frequency provided and if a valid > OPP-table is registered. Use round_ceil passed to decide on the > rounding of the clock freq against OPP-table. Clock scaling is > disabled when a valid OPP-table is not registered. > > This ensures when an ICE-device specific OPP table is available, > use the PM OPP framework to manage frequency scaling and maintain > proper power-domain constraints. > > Also, ensure to drop the votes in suspend to prevent power/thermal > retention. Subsequently restore the frequency in resume from > core_clk_freq which stores the last ICE core clock operating frequency. > > Reviewed-by: Harshal Dev > Signed-off-by: Abhinaba Rakshit > --- [...] > @@ -335,6 +342,11 @@ int qcom_ice_suspend(struct qcom_ice *ice) > { > clk_disable_unprepare(ice->iface_clk); > clk_disable_unprepare(ice->core_clk); > + > + /* Drop the clock votes while suspend */ > + if (ice->has_opp) > + dev_pm_opp_set_rate(ice->dev, 0); The PM core will quiesce the vote as the device suspends, this is unnecessary. Similarly, the rate restore logic will become unnecessary. Especially since dev_pm_opp_set_rate(0) does not actually do any rate setting. Konrad