From nobody Fri Apr 3 11:00:28 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.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 57E882FB965 for ; Thu, 19 Feb 2026 09:39:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771493980; cv=none; b=sdA96gype6rB3cWLQk/S76SIiFE/YTaQ22BLHDuPIa/POeWi/CmdZUayRTGYzuAaYERQm+XlHqTZohAkpPGmfk47l0KLH+VQDwtrL0B7/Xa+3sv15OjoD+rX0ci+xN2x325I/Ry/2+fsN3xFUkTsNdy//Qp7IqGjQg1VcApLCR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771493980; c=relaxed/simple; bh=FdQaUHaIKGi8PX7kvnxnJG19Dokd/6H2sRexB/vQ9cw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZVXqmUFrFjQthmXyZeg7fz7/dJLGxFcU61+GPRUORtNSpnXB8p7Zg4FcIqnLcQD1IoeOKYuZc7f8vrt4OEJ8tBKwG9NEbDFj71ZVUM8/6vyc7Y2WWjmOnRV+pmK7ijC+PburnePUby3u/Gk4mjgiQXasDysJid71q7tOSDXMQfc= 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=HB9PQt1z; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=jby3DwdE; arc=none smtp.client-ip=205.220.168.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="HB9PQt1z"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="jby3DwdE" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61IKxaWP3133093 for ; Thu, 19 Feb 2026 09:39:38 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= uxM27KGWub9YOvIskp1G0Jb2ZU0MzfIFZFqQpkv+G8E=; b=HB9PQt1zsqp1Sn/y 7SgyPZcRkFPJJOYU0ZdVMprNiMhj9Vt/23BMYurUsB1EGBRsyUDKOaGr/iboqtw5 N8nBcmr15jqffwfYmEmzikhqEal9f/22hrHiU5mmy6FW6MnhqZCCdmJOhRhPkTwx 2pyWN5QM8fDkILKv2jceqWPiwuJqjA4Qgv+a7Zc+o72CERO8wYo/+Vr8PhMclHFl O9ppkqjma23+B8cX0MgVNKWUfI5++C6u0zVCAX4ZCufKGx47AzF8f4HrWP//QWIT 6FziYRxxRIPZKERTLQrJW6K0hisoBnIuiSe+3qErYXWGoxESUT989AsydstP6gWp aBFUcg== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4cdmxvsh4a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 19 Feb 2026 09:39:37 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c6e18ade2c2so539184a12.1 for ; Thu, 19 Feb 2026 01:39:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1771493977; x=1772098777; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=uxM27KGWub9YOvIskp1G0Jb2ZU0MzfIFZFqQpkv+G8E=; b=jby3DwdEdRx5GgVpncDNK2Z8qKNMb3PVAbM91u0vcq0KfYxMaa+cqXDYhs8mi/YsIu DfwBKUgPEhnwitIiTIfm/nOjMOQla125QVjPbzZPZlv/pMaPc33VwY/aIkH0RyGee0jo EXE1UCnSDxXU9/nZwIaPB/LjMynOHyyK/dmz7B2BraYNXzVETmBOiWuQMIYwd/pdFo+J uloeEIJBNu+hclKMxqE4oyU+8TdrDeaqWD2n92mNImCB8z3qJDwEnx8Xee4sTskyxNWV saYufVoBp0ydFgabxIJ4dOcTb35XwZvfzTq5qdH6egMpFDlm3J4p4cdhgnJiUhsoBNmH /CFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771493977; x=1772098777; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=uxM27KGWub9YOvIskp1G0Jb2ZU0MzfIFZFqQpkv+G8E=; b=YdUwgh0LGU/7OOM4zKmUIH/Vp74LKbH1WfP/zb5IGfS8Ox27VX1h5Ed+E7G/Vyc39D rcwCDEN494Z7rUVK1k59TK//+9tMitwejiJjcRnexkMkcYIhPeTvzhHanWhMK5T8ZCqY dy9zxiA7GmjyXsrcth5HRX1M7wGnZQYOt8SMRb9JGhgHuEDlaqS/KhG1lO+1WZot0NMO j9C7aE77X7BMLi8EFDE5M2WuezTaCqQztybT4GDylZgym+Y3bH/XT5UOvCmjqz0J2+yE 4i7Znt4gfVBCkTieitqm0eBAA3FkpJx6zA1CVtakiRsg9p65iABXMfpWKw8d/b+GeGeB loeQ== X-Forwarded-Encrypted: i=1; AJvYcCXv04nwxDm4zqfxVfiH82Chfcfa83bSujVG9dGnpXwsN+3uxR3d14sNHnTwTixffLr+aJR4bj6sOFFELVA=@vger.kernel.org X-Gm-Message-State: AOJu0Yz51cTsCA8HWOVMt4dsgO8geiQKF/pN4L9gVNlj9i/Ixe+Lwue2 Rn1UfExNNWYseMbOQwQC4HpBKNydgYHzigNWm/1NvxlXNsEsMasvOSxk/USglC6OVROl3Zbdrx1 KJLu0VRRwyGrwNRyCfZc3BhH1wV0KaxmTUEHAXG0W95nFkqCwDmKRPB14sQufBMeZQrQ= X-Gm-Gg: AZuq6aLwxGVATu5GeT+FN38ehNA5CXDTT75aiPhVS4bOCjoNT7qkiACm7kYVIHj008G n6F15PCCJl2gWZ5S4L6+tkih9kyXlr2bfrat25n65OkbJh8YiwVwNuAHuiBkNQElCB+H00+HLGB G2tVZOHDcVco4o4zYiEIg/atSVb+jVB/pXaHpCWI3/uO41oNY6xG6WVQ2aRNHtenBlPeDXmOQRR OdOV3dXKPCbtpnYcfv/ibKGYO/vHD7V5Tsr4DTBevmYVqQOs+0Evq+NTOiXk5Wnk5BJHoocpg7k 2m8WPhWroW0+DyxiiocsXS5P0vMhJRBCF3lqenMMHGmBv2I8+gSQVjLCmX16qsQBdAgiMHcjS/g /KR/Nr0CvrgQGz5cesJ06G0Kh/ROQW67wUPCXSSVlIM2SS6kKujYfNTQYg8Y= X-Received: by 2002:a05:6a21:3991:b0:38d:f2a1:a43f with SMTP id adf61e73a8af0-394fc31ce77mr4241397637.42.1771493977069; Thu, 19 Feb 2026 01:39:37 -0800 (PST) X-Received: by 2002:a05:6a21:3991:b0:38d:f2a1:a43f with SMTP id adf61e73a8af0-394fc31ce77mr4241380637.42.1771493976568; Thu, 19 Feb 2026 01:39:36 -0800 (PST) Received: from hu-arakshit-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-824c6a2ac83sm17710250b3a.12.2026.02.19.01.39.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Feb 2026 01:39:36 -0800 (PST) From: Abhinaba Rakshit Date: Thu, 19 Feb 2026 15:09:15 +0530 Subject: [PATCH v6 3/4] ufs: host: Add ICE clock scaling during UFS clock changes 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-Transfer-Encoding: quoted-printable Message-Id: <20260219-enable-ufs-ice-clock-scaling-v6-3-0c5245117d45@oss.qualcomm.com> References: <20260219-enable-ufs-ice-clock-scaling-v6-0-0c5245117d45@oss.qualcomm.com> In-Reply-To: <20260219-enable-ufs-ice-clock-scaling-v6-0-0c5245117d45@oss.qualcomm.com> To: Herbert Xu , "David S. Miller" , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , Manivannan Sadhasivam , "James E.J. Bottomley" , "Martin K. Petersen" , Neeraj Soni Cc: linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org, Abhinaba Rakshit X-Mailer: b4 0.14.2 X-Proofpoint-GUID: IlT6mNSiIZlBUQ73_k8C49P1VEqLA4nv X-Proofpoint-ORIG-GUID: IlT6mNSiIZlBUQ73_k8C49P1VEqLA4nv X-Authority-Analysis: v=2.4 cv=XpX3+FF9 c=1 sm=1 tr=0 ts=6996da59 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==: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=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=-RVjIYUuWhs3u9hRN0oA:9 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjE5MDA4NyBTYWx0ZWRfX4ocZj+xyMKDG 5rG9G6rXy306IyPAHiT04JZaA9uQXiWDN/8nZuj5dR5i6S+JHMBF27L9MScxyoL4xKY2hWi80Db 0YmYt27+tCThUJ5L9UsRm3BzvspL7k1KpbAAxylpl687z9NS0fMjUm/ClGXbESyz00zbazGCwtQ PB7rQooyf02qNys8xvWsjfnqLUf7l1yuvsUSbnP7Fc7pbAyJ5Un6kqew2zNsbxpO3WWH30tptPw tAE4iSKmvB2qckQGlb/1oDZpSN6XFCh4qMzF2HORIo1xLaygLUwQ1rd1N+Nk//mlgTdKdUpOE9c Fl26sEk162RsQG1CZ3ND85hFALXKwCLaaZueoHp3qJ0NR6y8YqXqqMhDIlEUHtqx1z+aqzycir+ 0e2E1U+/EKEDvs52cE4JMn8+pDmkGAS0XWUbIVqf+na4DmETu7OV5k43CAdHUtoRL3J01bhBXXY 2YtQDlXO88JqIL6Z4og== 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-19_03,2026-02-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0 suspectscore=0 clxscore=1015 adultscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=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-2602190087 Implement ICE (Inline Crypto Engine) clock scaling in sync with UFS controller clock scaling. This ensures that the ICE operates at an appropriate frequency when the UFS clocks are scaled up or down, improving performance and maintaining stability for crypto operations. Incase of OPP scaling is not supported by ICE, ensure to not prevent devfreq for UFS, as ICE OPP-table is optional. Acked-by: Manivannan Sadhasivam Signed-off-by: Abhinaba Rakshit --- drivers/ufs/host/ufs-qcom.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 8d119b3223cbdaa3297d2beabced0962a1a847d5..d85640028b567d2084683f237e3= 110c682a08ddb 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -305,6 +305,15 @@ static int ufs_qcom_ice_prepare_key(struct blk_crypto_= profile *profile, return qcom_ice_prepare_key(host->ice, lt_key, lt_key_size, eph_key); } =20 +static int ufs_qcom_ice_scale_clk(struct ufs_qcom_host *host, unsigned lon= g target_freq, + unsigned int flags) +{ + if (host->hba->caps & UFSHCD_CAP_CRYPTO) + return qcom_ice_scale_clk(host->ice, target_freq, flags); + + return 0; +} + static const struct blk_crypto_ll_ops ufs_qcom_crypto_ops =3D { .keyslot_program =3D ufs_qcom_ice_keyslot_program, .keyslot_evict =3D ufs_qcom_ice_keyslot_evict, @@ -339,6 +348,12 @@ static void ufs_qcom_config_ice_allocator(struct ufs_q= com_host *host) { } =20 +static int ufs_qcom_ice_scale_clk(struct ufs_qcom_host *host, unsigned lon= g target_freq, + unsigned int flags) +{ + return 0; +} + #endif =20 static void ufs_qcom_disable_lane_clks(struct ufs_qcom_host *host) @@ -1646,8 +1661,12 @@ static int ufs_qcom_clk_scale_notify(struct ufs_hba = *hba, bool scale_up, else err =3D ufs_qcom_clk_scale_down_post_change(hba, target_freq); =20 + if (!err) + err =3D ufs_qcom_ice_scale_clk(host, target_freq, + scale_up ? ICE_CLOCK_ROUND_FLOOR + : ICE_CLOCK_ROUND_CEIL); =20 - if (err) { + if (err && err !=3D -EOPNOTSUPP) { ufshcd_uic_hibern8_exit(hba); return err; } --=20 2.34.1