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 8797C3B52F5 for ; Fri, 6 Feb 2026 13:22:41 +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=1770384161; cv=none; b=gTpcoq/F15ufyUftrmqkR09J4D/rk6bSK0UpOJIUSXObWnt9+Cth9HWIcrKuZx9g+7MtJ6xA6n3xPbFHOM6N+V1TMAGe44x3yMVCrkQy/phdXbGBLM+/s+JXtggKPl+QhPinIpUfT03W6C48dQmmr+1mXr1BOwCLpbL6b0HUyc0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770384161; c=relaxed/simple; bh=ilT/E977HzfMfImT0754avNv49Vz/Hq1ePSPioS9hcg=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ZfCkN/PStZIHs+lItM08LNxjmmYI27YSklzu7lNR9kdNpPur84ErTeC+Wzjsd+T7uEeMKkU7wsbHSGwF8IBtrVDBGlhOvRCvWpB/qEJcFVHvHuHLUce180KPsYsknxth9MtvmAvZg1UoMVd0TpyzrKfiNhdZdQrFT6Qln8Rmgo8= 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=PpzXYYF8; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=C6jJmH4f; 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="PpzXYYF8"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="C6jJmH4f" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 616CAwKC3012903 for ; Fri, 6 Feb 2026 13:22:40 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= 3VwgMedd8yB2ZhuRAgPLlFfRSeW0mFjQv1ZUAldmExI=; b=PpzXYYF8KtFUDGji OXb2hBQJB7+6JQtuaHQH+/hKZjgT2SHJFO0dA3wj1mkG3WwHnMD7U1Ne3Oh5YyZf 8+G3nezx3kYhTPAwYs7JDJQCZd6O1HGD4G0Qsm9bCe9JzdtyVNqmYedB4ncDsA/T 2+F4GkjAAKt+Msekf+uUwZsCEn4AbHYNerlFd6h/Zyy3df+9ORCyu1Ns/TJ1SAoV kkcW8hLY5q5lNm0FmAH9ASbwxmANpeRWbEfetvdkaxIxBZgh9XF/vAh5XLfQEbn0 667CunZVhdWOyHiYfHJ+7DE/+OskPp+WeRJAtkEO3HHh0Y20D9zfZh80QB9i++JQ Nv3LIg== Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c59ukhg4t-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 06 Feb 2026 13:22:40 +0000 (GMT) Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-352e214cce9so1595278a91.1 for ; Fri, 06 Feb 2026 05:22:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770384159; x=1770988959; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=3VwgMedd8yB2ZhuRAgPLlFfRSeW0mFjQv1ZUAldmExI=; b=C6jJmH4fsheHOJW7Lx1gl8aSZzV6LV9CGt8Vtjb7ZjH3QqjBHvD0ES9B3wNksv6bkJ b7jC4QGsMeiX+1erKJK7BhynXCEg1r6KO1Mv4hae4N7S/jXwoETeCTFPtVdF3mVPFDJ2 ihWNyXi9hZGL9JOgrPh4gLpKwip93KgPEJ1Fw6ua21FZPjMcEDMjAXSGx/+Ag8L7Nn4x tndV+Yv+4xrqF91wCAyrFjapI+yhKKdjHL6GshZWZ9wTU5s8+LqWRHxOMt0YkqVKzoWM Bh6eBe/dWb89uerG1Os3lZKinK3x73A+6sBgL9mWkqJrUxOzkrHIio6nlfc0ygrpfiFJ w27Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770384159; x=1770988959; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3VwgMedd8yB2ZhuRAgPLlFfRSeW0mFjQv1ZUAldmExI=; b=v9J1qnIWNqW7c1V4iN1GK2PVxPWa5LoyFa6h728YdGo8pn+i/BMFf6CNGhtdGXspDP M9BxXljoCgZfBWcuR/FxjpaixfBuC0YRzxsbBltqmJ9pjl4JBXWKIx9Z093fVusQQtwo C3EItY1zYfqD3tEaCDC5A9hutF/sqYDfJTGyvaUm+Uv7mejhVSOnXaJoKfOSDQy/+gGB WM4InY0xjCqnmPVjp9sVnoHlzgz3xMY93vOTkbIy00g/Hmvok8sveb4fWO0IHTKSe8de nmzsPAcUKf7tTReDxsafvXO+i9bu3LkAhmaXvcb18XGT5sMvro/Fknmfcy8Giw6bD5cC mKUg== X-Forwarded-Encrypted: i=1; AJvYcCXI9D7hsxDyI44rIXAfvzbDJtCu7c6Af1QTJKgGarVOM+vO3e+/bMWUSxFWQvKREiLti1zU8gj4Ua3ytp8=@vger.kernel.org X-Gm-Message-State: AOJu0YzeEU8O9RqKHF+F+94689FfGZJDiySwvVgsxVEI4iCr/46BwGpi 2ibysXdVrGdwUSNUkU0QLS1jGe0/BiMWeqxC/Huo2cU/kwRm2qqPHfAO3C0GVpLlmuNxNTKg1HZ +APW8jV9MYEZpALLdCzfS1h/Opy8VbTFH3+gCbzYqFO4vBxTt/PPOiyhNCcGVyD26/8s= X-Gm-Gg: AZuq6aJeUEQIXikHPs7gmzg4Se+gPPqrYA06lK92O0wDBEuJcgJlwpxAKh2Wmi194oc HT3Ee9UNGc80kYXrYdCm+R26blmulELiXhkJKnUk0Qqyh/CqeNpMUaMdq/t1C3I57RlrZFARO3U kbCY/VMyDWIAr9vxNaj3B9EdfcArPHZWylf/enib9e45qHcPrUGMc5V098K849v798nijxJbawO YnMTEHM7nqed3RM29KIAt21kgFJWFIRLBnte0ZI+QKt3TnYjT1pzOO9epNvGH9RAaERF26sp1cX aXtysYxZcmWg/kEW4Q8tN5qKDMc1OmBy9gzYqhNtZyk/QqVGuhCRlLnZDPctTvNjZgcGF2mCaSn 0PLEpHaCTxI9spxJQm3ff/XmKI4uk4tuN68d0cG1NSt9k3RU= X-Received: by 2002:a17:90b:1d0b:b0:354:a8bd:e441 with SMTP id 98e67ed59e1d1-354b3e6f6c4mr2335895a91.35.1770384159372; Fri, 06 Feb 2026 05:22:39 -0800 (PST) X-Received: by 2002:a17:90b:1d0b:b0:354:a8bd:e441 with SMTP id 98e67ed59e1d1-354b3e6f6c4mr2335869a91.35.1770384158881; Fri, 06 Feb 2026 05:22:38 -0800 (PST) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-354b21f9178sm2804210a91.11.2026.02.06.05.22.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Feb 2026 05:22:38 -0800 (PST) Date: Fri, 6 Feb 2026 18:52:31 +0530 From: Abhinaba Rakshit To: Konrad Dybcio Cc: Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Neeraj Soni , Herbert Xu , "David S. Miller" , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org Subject: Re: [PATCH v4 0/4] Enable ICE clock scaling Message-ID: References: <20260128-enable-ufs-ice-clock-scaling-v4-0-260141e8fce6@oss.qualcomm.com> <7b219a50-6971-4a0c-a465-418f8abd5556@oss.qualcomm.com> <32e65de3-5466-4a91-b7d7-9c0ab9531ef3@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <32e65de3-5466-4a91-b7d7-9c0ab9531ef3@oss.qualcomm.com> X-Authority-Analysis: v=2.4 cv=OM0qHCaB c=1 sm=1 tr=0 ts=6985eb20 cx=c_pps a=0uOsjrqzRL749jD1oC5vDA==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=p-Dtmn_q0YB1zajlIU8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=mQ_c8vxmzFEMiUWkPHU9:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA2MDA5NSBTYWx0ZWRfX8inh/Y4RWkp2 oi14+ZksWv9c2h4u9eV07wsj26WH6NVHVGbQyF//8ToQitbAXfQ25rF6xl5I14DrMVJMMLkrwaR 2onQraXmDTm2HO2ZUFXTY72gPI/u7P1izbhjyzw3X3LnRyIJKlu6R9MjAPamO1trVmRbgrwdQ0L ACoiQwYZk9GFa52b3YDCKWbsSFQOKxsNTgYk9EeDQRBscyCQpySAW9XW89QB0uEylaQ5Pb58YzG wXYJj/0BQ9/XUjapxqMpr9t5pHWU89V/S6wzKcQc2VH5y/2E1lgNxZxWQJovtTphdXd2lYJhcky tsYy98d1aJl8jRLIbxA6baSdsNdT2cLR6gGeH+wPkbje8JlDkkz0vVTybQKLEWxU48xT0ngIY3r dH1xFMojk0xf/MyYdMlemPSrDx1Z+46NePy8JKZQJQVyLddiUydhIfz3Lfx65/bg77FLDkHZd3v +tzDPyl/ED6eTCoYSug== X-Proofpoint-ORIG-GUID: _T2I-7ew_6s01BlQHzzlyASpakHMykf1 X-Proofpoint-GUID: _T2I-7ew_6s01BlQHzzlyASpakHMykf1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-06_04,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 priorityscore=1501 adultscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 impostorscore=0 malwarescore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602060095 On Fri, Feb 06, 2026 at 01:14:28PM +0100, Konrad Dybcio wrote: > On 2/6/26 1:03 PM, Abhinaba Rakshit wrote: > > On Mon, Feb 02, 2026 at 04:01:38PM +0100, Konrad Dybcio wrote: > >> On 2/2/26 7:36 AM, Abhinaba Rakshit wrote: > >>> On Thu, Jan 29, 2026 at 01:17:51PM +0100, Konrad Dybcio wrote: > >>>> On 1/28/26 9:46 AM, Abhinaba Rakshit wrote: > >>>>> Introduce support for dynamic clock scaling of the ICE (Inline Crypto Engine) > >>>>> using the OPP framework. During ICE device probe, the driver now attempts to > >>>>> parse an optional OPP table from the ICE-specific device tree node to > >>>>> determine minimum and maximum supported frequencies for DVFS-aware operations. > >>>>> API qcom_ice_scale_clk is exposed by ICE driver and is invoked by UFS host > >>>>> controller driver in response to clock scaling requests, ensuring coordination > >>>>> between ICE and host controller. > >>>>> > >>>>> For MMC controllers that do not support clock scaling, the ICE clock frequency > >>>>> is kept aligned with the MMC controller’s clock rate (TURBO) to ensure > >>>>> consistent operation. > >>>> > >>>> You skipped that bit, so I had to do a little digging.. > >>>> > >>>> This paragraph sounds scary on the surface, as leaving a TURBO vote hanging > >>>> would absolutely wreck the power/thermal profile of a running device, > >>>> however sdhci-msm's autosuspend functions quiesce the ICE by calling > >>>> qcom_ice_suspend() > >>>> > >>>> I think you're missing a dev_pm_opp_set(dev, NULL) or so in that function > >>>> and a mirrored restore in _resume > >>> > >>> Thanks for pointing this out, its an important piece which is missed. > >>> We can use dev_pm_opp_set_rate(dev, 0/min_freq) in _suspend and restore the > >> > >> FWIW > >> > >> dev_pm_opp_set_rate(0) will drop the rpmh vote altogether and NOT > >> disable the clock or change its rate > >> > >> dev_pm_opp_set_rate(min_freq) will *lower* the rpmh vote and DO > >> set_rate (the clock is also left on) > >> > >> Konrad > >> > > > > Thanks for the info. > > I guess, dev_pm_opp_set_rate(dev, 0) seems more ideal as this is > > API is for full quiesce mode and the clocks are anyway gated in > > the suspend call (clk_disable_unprepare). > > Yeah, please make sure to call dev_pm_opp_set_rate(0) *after* you > disable the clock though, to make sure we don't brownout Sure, that makes sense. Abhinaba Rakshit