From nobody Tue May 26 05:41:21 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 869BE312831 for ; Thu, 30 Apr 2026 03:21:44 +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=1777519306; cv=none; b=uloK3vK9PfZB3OChEA9pVf9fSjOzNhMYYO2gtQJ4SINkuUjghPCeYKixoiRlmohN1idZyMwSH1JjeDIIX12iPMQKgY2oIOeWB33MDkdc1J4raFmoupD+Vek+dK+eKMJ6nQPDoIQ5EgkM4Rs9RJq9o1vj0w9DnA/DR2r3XcpqOxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777519306; c=relaxed/simple; bh=uEo7zaCsh/uf4vxt4ajAnacXjK7944M3mjrrLv7CPaA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=GtRGgxJ+fwCULs2UXF8qGBLyT8ZnWh1vf0Jejym+dhnTUQMkjvBzdwJWpAZ3iEuGs/jEhPJ+1GcHY1q1mUu4kjK4+xtRobypSu1/kGmt2WRs+t9gMsDAGs2sNXtqMaUepKAZ7gOR1EqbtcUMKseosZRtZW3lovOJbeUbQLvYG90= 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=Rx0Heh2M; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Ykk3Fe2N; 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="Rx0Heh2M"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Ykk3Fe2N" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63TKbL6r3992779 for ; Thu, 30 Apr 2026 03:21:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=2m+5w3clrSY zovj5QjtuRiasc4IUCrKMC9+BCcw+7R0=; b=Rx0Heh2M1yQjoeX6Z0c3QLKI94v 3peDiEnrxfH8FKHQQTbV3MEmVfET1Q3lJfa34fT1VEKI1U0m8adDInoIlKqJQEG6 KWX+9NcDZxSMp2s0XVOvLUaPDM3L41bkFDGvXlADywQSuE3uA0TdSx8T9oh7lucM uCPWA+FF9JNR9iPKGCgwXUc+0TjA1LX7FjCyfDnrwvKoJ2zaAVEh/zJXlx1wMtbD YkyZ/zDk6oKqevuXJbLHzmUT+fkBtY/S0KyIRosE59qrh147NKRd8AtB4a0TLRQ7 5ZumC5gVtqzZ4uR2iMVocXSjEAuh3TuFf2x+MLo/8BClG/asHovcakkXunA== Received: from mail-dy1-f198.google.com (mail-dy1-f198.google.com [74.125.82.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4duhx92xxd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 30 Apr 2026 03:21:43 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-2ba8013a9e3so861402eec.0 for ; Wed, 29 Apr 2026 20:21:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777519303; x=1778124103; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2m+5w3clrSYzovj5QjtuRiasc4IUCrKMC9+BCcw+7R0=; b=Ykk3Fe2NbJKMwbI2HPB5XIcDswwWDZw06odBPdkqNx8hHPbI9zajJ8aDsVPPoYqgzi Rxg1OYUfJlh0ILGPytkr7WnBDLxCj3Wp7ZlEIKe0lLYm4R/rmEezqnty/D0GYx3kGw5Z t7XR0oLSCuXLL25MqpsoH6nNOdxZjcaAyasq7jOFDprF/FJg+Ry+6Brq4YcSdj+GeCW5 WztWaS3/2NUwh1d1splfdInT3X/eUrnYkVm9HRDgkOcMxeBcc+rzaPE+xs2LaDyEPReb tWrIJMS7m3o+U7Osr0sTXEZeW6RCsXJTpiISOXj4mjL27/XW1Inh9fxBZURknEKjnwUS iZCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777519303; x=1778124103; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=2m+5w3clrSYzovj5QjtuRiasc4IUCrKMC9+BCcw+7R0=; b=GEPUvqF4Up0Lpu3XEAPlMzeUSg7kVrOkYeCUiNJLgfdIm5ot5jAjoQFObGRBU7jBOX +BDGJf0gEOUe8HuftlLK9fOrdZe/kKKTN/Q/ECr3M2KxW5i7ZewI35/dugfEEIQmGaYN VXj4+buhJGL0Vvj95IsaYNTf5WhJ8tuZVkfHAFOpDgLzbCTqDtU4M5sTtY0Y+iWw37pq eozK9MIsDVHuGVgAGKbfKSdX8J9QKNHmt+BxhDyc4QBtOtg3tDFDs63GOPPMuOwGEYyO pQRwZdXa7HDU+VDLtq9bpQUbpMd3AhNtvJ7VnY+jicerPzp411Xn+3QaisaugUCA3IXI ywNQ== X-Forwarded-Encrypted: i=1; AFNElJ+MCIDr33ZHsvXoqpA/TCKNsNcy2a96LlB/1DfQkBSGBn9wp90XO/TkR0yDKN+mGHmamIzFJODf5D1z/Mg=@vger.kernel.org X-Gm-Message-State: AOJu0YzH5mqxPMtqXxwSo2lg4HXkV6doy/PYiE97wBEvHIMBVDMi9T9M 5qCUIqByRVsmoq323sMSVoS0y85M/5c9dulfdyJ4UbrmqlOQB7q5OPoaQKoScnv45r+vdroC0QD nUfchSNwIFcVQr6KQ/g0YFRK6H8eZKQkOyX4TfabUx7HiQruEuI/L3kPpJZUev804uOU= X-Gm-Gg: AeBDietApXfXpTaBsQPonPhlWo4zcpWnX1XpuA6wiXWBSoR7Y/j5OEsp87qgWjr67ZE 6PQkBgsTj0QzhN8zHBRuNQvkZZ8YjlVS+RavzZivNw0uTX6xtwLyDb/3/U3dTCmHhvf1x5Bx13O vn2/v6v+w1S8/1ouIV3IW5U36SgtVRH8vyK+001/ZvNP58GCXPLqEIoJ2vcGkF9/F8luZTxkxZz vzk2vgvvPEdQHQ1FWJwHwfchl/+c3QMs6ubv9+6CPV0shdeTJIvozYoiHTko3wuwFzNz2xfkkAZ UuR0PI6SwRkTUyBvw9HmRXNCqHEY+X3xXBtlnfG72oOSqU1dAHmCgGpECcpwyY3c3Iy4ndK6SNh qZlQgJjvtQJifb/tku3MiJfYc64h8zpA8w9hGvKvDziM4AJoRkpHPb35U58lm3MMcaRaffe8Vzz 3Z68Z7ehXdzsDBI1E= X-Received: by 2002:a05:7022:b88:b0:128:d375:f1cc with SMTP id a92af1059eb24-12deac5fe8dmr615667c88.12.1777519302635; Wed, 29 Apr 2026 20:21:42 -0700 (PDT) X-Received: by 2002:a05:7022:b88:b0:128:d375:f1cc with SMTP id a92af1059eb24-12deac5fe8dmr615649c88.12.1777519302112; Wed, 29 Apr 2026 20:21:42 -0700 (PDT) Received: from u20-san1p10573.qualcomm.com (i-global254.qualcomm.com. [199.106.103.254]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-12de321df36sm7572644c88.7.2026.04.29.20.21.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 20:21:41 -0700 (PDT) From: Linlin Zhang To: linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, ebiggers@google.com Cc: neeraj.soni@oss.qualcomm.com, gaurav.kashyap@oss.qualcomm.com, deepti.jaggi@oss.qualcomm.com, bjorn.andersson@oss.qualcomm.com, quic_shazhuss@quicinc.com, trilok.soni@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com Subject: [PATCH v6 1/3] dt-bindings: crypto: qcom,ice: Add sa8255p support Date: Wed, 29 Apr 2026 20:21:33 -0700 Message-Id: <20260430032136.3058773-2-linlin.zhang@oss.qualcomm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260430032136.3058773-1-linlin.zhang@oss.qualcomm.com> References: <20260430032136.3058773-1-linlin.zhang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDMwMDAzMCBTYWx0ZWRfXw0DBEo8ink1W wXSdeWiJmMs84Amnax9RxY6T3c3CTbvhK9e2FU3wMFFrrkbaxCCpeUG3dTrqow09VZ9mJW7Hc1u 2h3d6dIGy3IlvZRoy2c4MEQ/6FkY9uZAqb3cm6LOlpyfKFHEeh1XXgtO+VwckoBm9M6hhDsw79w 4iRqiYfLgantQMp1zLpZ/qPCuq66brX4VgnDqD7aKheB9DMwYlmxubBtQLNkcuMnLATHwyrofbQ o+/gEdoFUSVcHFWWEGs6IOTvRYJqc05yb2dVSTsgybd/vLlfBFvIOsQOBO9xEx3a6LvaLg9aSCw kb8GSHyI2N1BEehYazozOngJvqFwP2+Se7EquW4ky/7ut2TeZdYh5j9iQb7K4pWhWm1WsWaH+uR tswFi2TRj31ULgoPYz+Byox9wfgruRZ7nzZDqLb27FiIStr/w+J6kBATDgxeqE6lb0jsdQAjAdQ 8u0M1ZX+cNxGhEJcPhA== X-Proofpoint-ORIG-GUID: ZundJXjLEUf3r_Kz9EvXMZXJ8IstT4JQ X-Authority-Analysis: v=2.4 cv=O5oJeh9W c=1 sm=1 tr=0 ts=69f2cac7 cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=UuHxjPGgWbCNvu6MkpoA:9 a=bBxd6f-gb0O0v-kibOvt:22 X-Proofpoint-GUID: ZundJXjLEUf3r_Kz9EvXMZXJ8IstT4JQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-30_01,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 adultscore=0 phishscore=0 suspectscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604300030 Content-Type: text/plain; charset="utf-8" On sa8255p, resources such as PHY, clocks, regulators, and resets are managed by remote firmware via the SCMI power protocol. As a result, the ICE driver cannot directly access clocks and must instead use power-domains to request resource configuration. Add the qcom,sa8255p-inline-crypto-engine compatible string and make clocks optional for platforms that use power-domains instead. Signed-off-by: Linlin Zhang --- .../crypto/qcom,inline-crypto-engine.yaml | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/crypto/qcom,inline-crypto-en= gine.yaml b/Documentation/devicetree/bindings/crypto/qcom,inline-crypto-eng= ine.yaml index 061ff718b23d..f90e5da550db 100644 --- a/Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.ya= ml +++ b/Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.ya= ml @@ -16,6 +16,7 @@ properties: - qcom,kaanapali-inline-crypto-engine - qcom,milos-inline-crypto-engine - qcom,qcs8300-inline-crypto-engine + - qcom,sa8255p-inline-crypto-engine - qcom,sa8775p-inline-crypto-engine - qcom,sc7180-inline-crypto-engine - qcom,sc7280-inline-crypto-engine @@ -31,10 +32,26 @@ properties: clocks: maxItems: 1 =20 + power-domains: + maxItems: 1 + required: - compatible - reg - - clocks + +allOf: + - if: + properties: + compatible: + contains: + enum: + - qcom,sa8255p-inline-crypto-engine + then: + required: + - power-domains + else: + required: + - clocks =20 additionalProperties: false =20 @@ -48,4 +65,12 @@ examples: reg =3D <0x01d88000 0x8000>; clocks =3D <&gcc GCC_UFS_PHY_ICE_CORE_CLK>; }; + + - | + crypto@1d88000 { + compatible =3D "qcom,sa8255p-inline-crypto-engine", + "qcom,inline-crypto-engine"; + reg =3D <0x01d88000 0x8000>; + power-domains =3D <&scmi26_pd 0>; + }; ... --=20 2.34.1 From nobody Tue May 26 05:41:21 2026 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 339D7335064 for ; Thu, 30 Apr 2026 03:21:46 +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=1777519307; cv=none; b=Teg6uNVKkk3MpcuvhRLXRViinuTJ8OY9E97isX0TRWT4GZLVTQpWv173i1ARV5uegYfl6lvd1syX9SLTISW0wxiB1KGN2ibLoPgnLyiwOCGSD1LYeXkniHQ+f7Y1Jsk11u33M1bvvBnQ4VF1QYfV5lNdPxcz7HJv3jkZdaQRpsA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777519307; c=relaxed/simple; bh=k+d951Qvi+Dcbct+bPdWAZBcVUO5zA4xMaJyBHeyrMU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hqWZWM3GrkgBaI5l6hEsx0WbWOu/zyrcGWhG1YUVkL+334lsXAy4XloosxGugZeKDmQuE7DPeRP7e7oMRa9L3l0MK7XNWr/3r8DCBf3iV4K6QsiHr0yDFpMo2FYHhaksTwiIzEeDJOTGbXM8ez6x24l2w1zDtIxmdw0KFW+H444= 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=BFrCAxCL; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=R1z5c4ol; 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="BFrCAxCL"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="R1z5c4ol" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63TNvDqW3733556 for ; Thu, 30 Apr 2026 03:21:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=f6Lh5X695h3 Y6NxGVDMp4XhoibCMZmokmWWM3MAxEng=; b=BFrCAxCLqiXdEyuXTHziAjQN3bl bnzRIce/n1/6ahja6WUfK+wgwyK3zAvLAU5L4EVwgfRVAU5lEZ9n+g4OLVdyoO4w 6NB4mzOELXnNie0JxGj2dMzFrLj2kUvoDNvXY7X/ka/DANO/FKvC2bMGB4vtp4Sp fINacM/xFZdABUmy6UB7R4YnwIBwy60cnYY30kVLjQ2y8y9xdz29mrG3WOtcDJvy rcGlPt4wkIzyq7egtSvso0OKpL20vWA6M0na4ie8wmJqy9AhGvKfOE1UavsHOybE J+e+6JjJ4CRJOvCrvUPnPjkjy2HN3GTT5WXLQmdHwxvbE6eQOTWNQathm4A== Received: from mail-dl1-f71.google.com (mail-dl1-f71.google.com [74.125.82.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4duv3x8jyv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 30 Apr 2026 03:21:44 +0000 (GMT) Received: by mail-dl1-f71.google.com with SMTP id a92af1059eb24-12c726f4019so618111c88.1 for ; Wed, 29 Apr 2026 20:21:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777519303; x=1778124103; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=f6Lh5X695h3Y6NxGVDMp4XhoibCMZmokmWWM3MAxEng=; b=R1z5c4olriJuwLJ10mYo7rUHtYUTmStg6k4AcvISey7VZB06XbTKmpdUZHCBaBTAN1 eZREaPAry/X6RiKfoQbtXGT6O+YwrJzRF4tiTlujhSCQg6wTx18Vf5YtmSUpklLJwUcI owmlHm48IIGIB5Bmfr1G//qWyAlA0OF5NWwqV2xi7hudGd5cEdSmb7+sq0R+MirsACfp jzk9gJeqWpEa3ElECuJ/CB3vN0HTTk1Xp6XFdv/Vr1ehlZ0L9RCQNllsEu0JK8kibWp6 7VPAxioR6IHsT1V+OKFezS5eTJdo4QcFqr+PfxInyh1uHV+wlxE3rRmzPo3BN70/tbzC OLFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777519303; x=1778124103; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=f6Lh5X695h3Y6NxGVDMp4XhoibCMZmokmWWM3MAxEng=; b=ML95yRTn+9RAPLxLPYs6izsCVVSFwxb3ciV3d2kT+/ve98iPVhyQqjUgXQVrMtOMKJ iB6OC5OwbbEAxReeyQ2TyDcfqpLSiqXDBnDkevTzQ8dGja3b4CMOSnokI1yAb8iDV4bL 0gFY++5v9UROlqUGrmZ6HR1HqXxETpQYV+k0XFjn7TyAmRxZB2X/1GNkFfp4lX5sqT6A 8Ac/1RcAqnPvCFo2UZ0HjVE+tdxR22VmUqE5X+POvTmDyslZLFeVUrHhv0F9hOGL/Fq0 BK02vNNuZkm4yL62aOcQliyhdcrF5yDIDOPFJ02wHNtHnh5zlRZOpViJwygnnd/Em7I9 +IMA== X-Forwarded-Encrypted: i=1; AFNElJ8F34R7JuZo+6xpAM+l1yUxrk5UpMDT1f6xiFzIpaoiy10Mx5nKaD99+WS3UsHbcTQVHTZhzW+Whl/UE8U=@vger.kernel.org X-Gm-Message-State: AOJu0YwKISg4PZ9p6QvI6371dhFLztqOHC4DE4P/9dIV+STqjG+jIWci CrnHnNDLIMpuPAiFJx071DAikF+tcNUHW5yLMGx7G8ouziaNWEWF447AoBuTyDoQI44Xgb9n04z NQXO6qy83HMTU5pu2zxIdy2r0kYY0Q1ppnsdWk9DPp+WPcSUUB/FRgAxc0gEonqm++kvOkMnFzj 4= X-Gm-Gg: AeBDievE+0TIIwtvXwoIHi8WGy0Kl8juJNkaIyPSc5YQHi2eIuVNypsPQZ172ZgLgQn eDSGE8csspFGlHH348SlJuzcZyKcSXanCepSQoSKLit8Ce/aq1c+c+tpxYp8sLuavq5ZNg7iIAJ +GhAcsMllDliMiZ8/0HmHEQb0rxCEU97fTZT+F5sd+j3pOabdCsD67ZP+Q0jJg7QzAXW9z9W7Gi cJHe4D5uwNKtEniVjcUbHn+q5n1MUMj2Yqe8dxKjBzGbZwnIFLZXJTXyzsauuK7vOkNxEOXGLrI 3MmXI8DwGXMcz9377DWwla6YHBfT0IqDp2HmCyaovussT8sNU7swS/0HWsX/duISjLsMtcV+Iyz 1iDpiwYXGbqkyzzpLxUpH0S+qK9IzzhrU4Tnf4Y0ZsPNBBz3zkPcC9lPKiY+7P3Me72aIxZ4v2O +PsDjczWVSHymkeiQ= X-Received: by 2002:a05:7022:1281:b0:12d:b175:2573 with SMTP id a92af1059eb24-12deac4f473mr617853c88.7.1777519303453; Wed, 29 Apr 2026 20:21:43 -0700 (PDT) X-Received: by 2002:a05:7022:1281:b0:12d:b175:2573 with SMTP id a92af1059eb24-12deac4f473mr617831c88.7.1777519302926; Wed, 29 Apr 2026 20:21:42 -0700 (PDT) Received: from u20-san1p10573.qualcomm.com (i-global254.qualcomm.com. [199.106.103.254]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-12de321df36sm7572644c88.7.2026.04.29.20.21.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 20:21:42 -0700 (PDT) From: Linlin Zhang To: linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, ebiggers@google.com Cc: neeraj.soni@oss.qualcomm.com, gaurav.kashyap@oss.qualcomm.com, deepti.jaggi@oss.qualcomm.com, bjorn.andersson@oss.qualcomm.com, quic_shazhuss@quicinc.com, trilok.soni@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com Subject: [PATCH v6 2/3] soc: qcom: ice: Enable PM runtime for ICE driver Date: Wed, 29 Apr 2026 20:21:34 -0700 Message-Id: <20260430032136.3058773-3-linlin.zhang@oss.qualcomm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260430032136.3058773-1-linlin.zhang@oss.qualcomm.com> References: <20260430032136.3058773-1-linlin.zhang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDMwMDAzMSBTYWx0ZWRfXyguhaR5LQ/pn ZEctuhnD4sDfCWxWH8mVtQgDZYPxF2wcyR2go8D4iBxMpjxEJTJ7hhU3W5QmdD0N0hxYbG9ZFNd IwMVdcEu6EdahHqPCknhyIxlnZoKk+2J1hJ3qa07Ofedbyhs+hBmZLvnjyktw5XL/nNjyk8Wb7A +cau60MAa2emdbDuA5gPaelAamCAX3babhQJ0oz6lEcYTHXeZvlaQfEjNnx5gpCZjSaE7moI005 m8tl4iX5MQLJgG02ORRFxzVM5Ub+Ff/gcotxEmD8xrQL6FF5Dz39X7hnfmu8dC9nrvweIbq2X8t 26l2nTKPcIzUVuC5wMV4qMZtlrOZGLqPiSPJQoz6Q/Zhr+nkYeT/PwPmeArzieh+ZMt6NEillsb SuKa7WQ6InDmyOSByuFKDby/G7LdoSatA8cdAELwGw3tGMSTTgqj5iC/1QxLcJoWdPKKYtJRVpx 6a/jz4Y+PrXOC6JlELA== X-Authority-Analysis: v=2.4 cv=Oc2oyBTY c=1 sm=1 tr=0 ts=69f2cac8 cx=c_pps a=JYo30EpNSr/tUYqK9jHPoA==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=7JBRkwD79zxFga_vYKgA:9 a=Fk4IpSoW4aLDllm1B1p-:22 X-Proofpoint-GUID: E-rVzrylWz4yBJdjW-M6whvS7Inchhgb X-Proofpoint-ORIG-GUID: E-rVzrylWz4yBJdjW-M6whvS7Inchhgb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-30_01,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 spamscore=0 lowpriorityscore=0 phishscore=0 suspectscore=0 impostorscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604300031 Content-Type: text/plain; charset="utf-8" The QCOM ICE driver manages the ICE core clock through direct calls to clk_prepare_enable() and clk_disable_unprepare(), which limits integration with platforms that rely on firmware-managed resources or platform-specific power management mechanisms. Replace direct clock management with runtime PM support by moving clock enable and disable into runtime PM callbacks. Use pm_runtime_resume_and_get() and pm_runtime_put_sync() in qcom_ice_resume() and qcom_ice_suspend() to drive power state transitions, and enable runtime PM in qcom_ice_probe(). Reviewed-by: Neeraj Soni Reviewed-by: Deepti Jaggi Signed-off-by: Linlin Zhang --- drivers/soc/qcom/ice.c | 58 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 53 insertions(+), 5 deletions(-) diff --git a/drivers/soc/qcom/ice.c b/drivers/soc/qcom/ice.c index b203bc685cad..6f9d679b530c 100644 --- a/drivers/soc/qcom/ice.c +++ b/drivers/soc/qcom/ice.c @@ -16,6 +16,7 @@ #include #include #include +#include =20 #include =20 @@ -310,8 +311,8 @@ int qcom_ice_resume(struct qcom_ice *ice) struct device *dev =3D ice->dev; int err; =20 - err =3D clk_prepare_enable(ice->core_clk); - if (err) { + err =3D pm_runtime_resume_and_get(dev); + if (err < 0) { dev_err(dev, "failed to enable core clock (%d)\n", err); return err; @@ -323,7 +324,7 @@ EXPORT_SYMBOL_GPL(qcom_ice_resume); =20 int qcom_ice_suspend(struct qcom_ice *ice) { - clk_disable_unprepare(ice->core_clk); + pm_runtime_put_sync(ice->dev); ice->hwkm_init_complete =3D false; =20 return 0; @@ -716,24 +717,69 @@ EXPORT_SYMBOL_GPL(devm_of_qcom_ice_get); =20 static int qcom_ice_probe(struct platform_device *pdev) { + struct device *dev =3D &pdev->dev; struct qcom_ice *engine; void __iomem *base; + int ret; =20 base =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(base)) { - dev_warn(&pdev->dev, "ICE registers not found\n"); + dev_warn(dev, "ICE registers not found\n"); return PTR_ERR(base); } =20 - engine =3D qcom_ice_create(&pdev->dev, base); + engine =3D qcom_ice_create(dev, base); if (IS_ERR(engine)) return PTR_ERR(engine); =20 platform_set_drvdata(pdev, engine); =20 + ret =3D devm_pm_runtime_enable(dev); + if (ret) { + dev_warn(dev, "Enable runtime PM failed, ret: %d\n", ret); + return ret; + } + + ret =3D pm_runtime_resume_and_get(dev); + if (ret < 0) { + dev_warn(dev, "Runtime PM fails to resume, ret: %d\n", ret); + return ret; + } + return 0; } =20 +static void qcom_ice_remove(struct platform_device *pdev) +{ + pm_runtime_put_sync(&pdev->dev); +} + +static int ice_runtime_resume(struct device *dev) +{ + struct qcom_ice *ice =3D dev_get_drvdata(dev); + int err =3D 0; + + err =3D clk_prepare_enable(ice->core_clk); + if (err) { + dev_err(dev, "failed to enable core clock (%d)\n", + err); + } + + return err; +} + +static int ice_runtime_suspend(struct device *dev) +{ + struct qcom_ice *ice =3D dev_get_drvdata(dev); + + clk_disable_unprepare(ice->core_clk); + return 0; +} + +static const struct dev_pm_ops ice_pm_ops =3D { + SET_RUNTIME_PM_OPS(ice_runtime_suspend, ice_runtime_resume, NULL) +}; + static const struct of_device_id qcom_ice_of_match_table[] =3D { { .compatible =3D "qcom,inline-crypto-engine" }, { }, @@ -742,8 +788,10 @@ MODULE_DEVICE_TABLE(of, qcom_ice_of_match_table); =20 static struct platform_driver qcom_ice_driver =3D { .probe =3D qcom_ice_probe, + .remove =3D qcom_ice_remove, .driver =3D { .name =3D "qcom-ice", + .pm =3D &ice_pm_ops, .of_match_table =3D qcom_ice_of_match_table, }, }; --=20 2.34.1 From nobody Tue May 26 05:41:21 2026 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 6A7E333A711 for ; Thu, 30 Apr 2026 03:21:46 +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=1777519309; cv=none; b=ojHR8+t9AfC9JH7E69ZCCeve6DbEklFuKlHmdYcD1EfGMEgWtelmnXKPriJmbXKdBMbFOP4yMU8j8Oh40iOM/jhvLW4UKBQMHQ30v4Axh2guAMsrsXq/YqzlF/B0yVvNj5ro4I5KeWwDDmUG7IT+YtnGhO9Lgpoqds9lV3bEDgQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777519309; c=relaxed/simple; bh=NFa6T1OlpES6l8VtfHxFeXgujLOXbuuENS2CTFHA2J0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=At9dt6v7hYJeELH1NYSUVy7iq65e5aFpNxoSc+Gr/bQ+ofZk2Qc0dbDHlahiXYwCTz3UjAKJfcHWbofdotLZOCZxJUDvRBJ0FwmyGEZPhIyrE5ivppl5ua8KpaGDYaulAwraJeIOExOOU5BlEHtCI0iR/M76Q7P3Bg2egVqjeAE= 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=R1WdfeL0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JZ2VfCOA; 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="R1WdfeL0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JZ2VfCOA" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63TKb9o92533833 for ; Thu, 30 Apr 2026 03:21:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=UL3C3PYs7qb 8LJc+zdz+SzMOIXkiCyeUwN4vYWoaCaE=; b=R1WdfeL0vO2GfQxQ7TfSHjgaGJ3 3iNCB/RwGkYn/U3Wk2+hg0x5KKMXlNpWxSLlxxcpjsZrzK3Nxx5Mmmh+HZNpNtRu gbgHvMmsAkNgmpbKOfklDAR2zNUVsoN7vvnFkT2Dgz6j5N4/U1Pf3QDv6SuRgYtb 0pnAsleIJj0+XHIfqRK1cMFVQg5gn35yR9B//nSSMTLUHxIz/iZRJC1GreF8AAWw NvP9LWhlxHjbgJUHPQAkRowevUh3I6/oegXSdfe2noi7ZlfuYCjOjt0ew5G1Hmbt MSmo6ui2lSNGS08Ir4USukk3K1/8WFU25vhLK8++PA1CmmZrhjhqUGjvTtg== Received: from mail-dl1-f72.google.com (mail-dl1-f72.google.com [74.125.82.72]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dupe91r7w-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 30 Apr 2026 03:21:45 +0000 (GMT) Received: by mail-dl1-f72.google.com with SMTP id a92af1059eb24-12c8ccc7593so741379c88.1 for ; Wed, 29 Apr 2026 20:21:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777519304; x=1778124104; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UL3C3PYs7qb8LJc+zdz+SzMOIXkiCyeUwN4vYWoaCaE=; b=JZ2VfCOAPSaOFJK5qTCwJvaJMzF/HqmmwH4gWFA0TW+LHaMzi1mHaX+9VyEoQJOtE2 M0dRk4phuh+FHefVpy8vMJF7kKZ+TASedXfalG6An5uPkWzRCrtAyL4ZQZMcdQImxiST pXrNVHk4pgjWW42zCtaeHcSTMt4alQtIJk4cCawjcbs/pXZm/lrpJ70VcnbW5afP/rKd a3wBaJsciow5qzIOr2sarG8Fq/qIeQPdW09G9/THoCQjEYEIN9gZvPF1HolXGLPDoynH jnQGkkcIJ2yXtNStvrxZRUMp5XefQYRAJP+S088tO4QakBt1LYI1FL2gf50HcrvzV1xM z5eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777519304; x=1778124104; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UL3C3PYs7qb8LJc+zdz+SzMOIXkiCyeUwN4vYWoaCaE=; b=GqKauBEqAjRx/GEDFJGAwMtu8CQjNxHuXAMFc6woBcJqb/kIt1KJjcDisZZ9lA7O8R qvuBiDGHZPYonR8MBjp+ZQ+g3rvdMDmC5fW3W+S6OBehtIiYbzVL7JA9Xcm/T71MGuJ7 3yMgtcGu3QzkVbSCFx9gC56r8ga1srxdve9GxWBTL47ZH2lIHNL/Sf9T9QgZT2mVFo1Q l98qStMIv+yMwSFOXOmAk4pXeZmV2SAj1DqlVlxaUBGoX6PsXVx6eVuGs5voTWPv+7t7 bWFVObRnCOQIJEeTLbmZQpJDaq5zaa34JEyasfst65aB8dcLP5CfN+EpqtROvkr7E7o2 Rhmw== X-Forwarded-Encrypted: i=1; AFNElJ93N+a9cmCRkkNZs3iwtUv+X1Ktv3/03U22ds72Z6A6aypM/qhRZFD/87VAJUdWRYVVUtTCL38aeEaJO+c=@vger.kernel.org X-Gm-Message-State: AOJu0YzPoIFBvUlttTk1A8AJ6wE4w46yK1RzdPAb1dNPfUwUNvJxY/Xx G0K/uGtFvn2k9La4QvEEwGynmR84azZhbqZ637q/9N3RIcrpCq6IU229rLi6oHwQaBDaojS32hH /1IUE0sQFRjrEzTrCpPw72LBHKiHEoDLBhbi9MtJhtYI2i5R8jhw2WmiodNf21MelDdg= X-Gm-Gg: AeBDieuV7vrfrJ+fD7pIMi9JEdxz4qzuFA5MRpOvvhqGqLP/qhyFfvA4UUSv9Z46kq3 8nF3sPyxK55jd71DoDyX8XV2wWa7MosGMdjYiRPyb14mStAYAg/+uS8kiUy00Mtm5Igovh2npyZ SC7QX1BQyeHeCssEeGSp0/XJ7zKZNaKxsT+2Wz1E/CNV3TFfokWHGkHtWFgpWU/q51KINILD66u y3GxyH9kgL0s+dMXjxqfgnjW/0IPmWtXd1b0UMMuJABR/AboCLa4jaUgiU93skA3skI/X3DgAG1 b9YOHxkShXqiG1L+aUnBOgyx1pnAzmiUiaPYWy3BtCxW1oh1LYsYCaulKkJ4vTzQoJLSrKlC9/F U+1rv8Ftdcw0ybQROhxMZLy3mMSW5IPXsifrNy17R7p/hw92HDhc4qst+khgCgpbIzcaXeNnvYM d2+OU+dQ1QSU1AD2Q= X-Received: by 2002:a05:701b:290e:b0:12d:ed19:e6cb with SMTP id a92af1059eb24-12ded19e73emr172648c88.29.1777519304286; Wed, 29 Apr 2026 20:21:44 -0700 (PDT) X-Received: by 2002:a05:701b:290e:b0:12d:ed19:e6cb with SMTP id a92af1059eb24-12ded19e73emr172633c88.29.1777519303738; Wed, 29 Apr 2026 20:21:43 -0700 (PDT) Received: from u20-san1p10573.qualcomm.com (i-global254.qualcomm.com. [199.106.103.254]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-12de321df36sm7572644c88.7.2026.04.29.20.21.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 20:21:43 -0700 (PDT) From: Linlin Zhang To: linux-arm-msm@vger.kernel.org, linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, ebiggers@google.com Cc: neeraj.soni@oss.qualcomm.com, gaurav.kashyap@oss.qualcomm.com, deepti.jaggi@oss.qualcomm.com, bjorn.andersson@oss.qualcomm.com, quic_shazhuss@quicinc.com, trilok.soni@oss.qualcomm.com, konrad.dybcio@oss.qualcomm.com, Deepti Jaggi Subject: [PATCH v6 3/3] soc: qcom: ice: Add SCMI support for sa8255p based targets Date: Wed, 29 Apr 2026 20:21:35 -0700 Message-Id: <20260430032136.3058773-4-linlin.zhang@oss.qualcomm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260430032136.3058773-1-linlin.zhang@oss.qualcomm.com> References: <20260430032136.3058773-1-linlin.zhang@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: iti8wJe8WUrjqtwTJfzJZxpBQ7OkwRfa X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDMwMDAzMCBTYWx0ZWRfX5cIZxDIP+u4A e+fZ3Q2UxnYAg52ljM4W/chMR1kBW+8xkJMRB1WnXjKO9S2ywxlUmnk+OGbKoI0Ht9Xm0luanP8 eDMIxi9b4QxVzztak04Hirf5tLdjSmY7p5uyWK65aNsj5iLHQxLzrCDq5K1o5+6Q39KrdHIh8Mb eCRZp48vHTpoYVGAJPU/N26L2Asj01yXkM9lfG/MXaINe+RX6fU+3JrcIcdhIlnhWCYwoazqAk+ c2IR/wkePhw9NUQJEaYcKjqQaOP4n6AgihbFsZZzRsRQ4xurP9CWUGl8S+ntVkvV3lYQLZ4lUlG cRL8jjk6RISas6G5ObEjIPmdjXYmf19WtN3Tdu1jmejfLhiZgeQK3G00/3a2dj82Ep5rQvyyGLy i4V3Czf0+cDTCPoRwfWeDF/u9KZaU78sfIhYrEkuQ52lG54M62hr0M1aDRfBQHVz4vpKAPzbWQC UNrk8fEPSqvvQ0NoMGQ== X-Proofpoint-ORIG-GUID: iti8wJe8WUrjqtwTJfzJZxpBQ7OkwRfa X-Authority-Analysis: v=2.4 cv=PvmjqQM3 c=1 sm=1 tr=0 ts=69f2cac9 cx=c_pps a=bS7HVuBVfinNPG3f6cIo3Q==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=COk6AnOGAAAA:8 a=SaV-z_UyVCyeOftNReQA:9 a=vBUdepa8ALXHeOFLBtFW:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-30_01,2026-04-28_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 adultscore=0 impostorscore=0 spamscore=0 clxscore=1015 priorityscore=1501 bulkscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604300030 Content-Type: text/plain; charset="utf-8" The Qualcomm automotive SA8255p SoC relies on firmware to configure platform resources, including clocks, interconnects and TLMM. The driver requests resources operations over SCMI using power and performance protocols. The SCMI power protocol enables or disables resources like clocks, interconnect paths, and TLMM (GPIOs) using runtime PM framework APIs, such as resume/suspend, to control power states(on/off). The SCMI performance protocol manages ICE clock, with a power domain set for ICE clock. The driver uses runtime PM framework APIs to request power on/off status of the clock. Reviewed-by: Neeraj Soni Reviewed-by: Deepti Jaggi Signed-off-by: Linlin Zhang --- drivers/soc/qcom/ice.c | 64 ++++++++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 21 deletions(-) diff --git a/drivers/soc/qcom/ice.c b/drivers/soc/qcom/ice.c index 6f9d679b530c..cf185a6e1973 100644 --- a/drivers/soc/qcom/ice.c +++ b/drivers/soc/qcom/ice.c @@ -68,6 +68,10 @@ union crypto_cfg { }; }; =20 +struct engine_desc { + bool fw_managed; +}; + /* QCOM ICE HWKM (Hardware Key Manager) registers */ =20 #define HWKM_OFFSET 0x8000 @@ -554,6 +558,7 @@ static struct qcom_ice *qcom_ice_create(struct device *= dev, void __iomem *base) { struct qcom_ice *engine; + const struct engine_desc *engine_cfg =3D NULL; =20 if (!qcom_scm_is_available()) return ERR_PTR(-EPROBE_DEFER); @@ -570,20 +575,23 @@ static struct qcom_ice *qcom_ice_create(struct device= *dev, engine->dev =3D dev; engine->base =3D base; =20 - /* - * Legacy DT binding uses different clk names for each consumer, - * so lets try those first. If none of those are a match, it means - * the we only have one clock and it is part of the dedicated DT node. - * Also, enable the clock before we check what HW version the driver - * supports. - */ - engine->core_clk =3D devm_clk_get_optional_enabled(dev, "ice_core_clk"); - if (!engine->core_clk) - engine->core_clk =3D devm_clk_get_optional_enabled(dev, "ice"); - if (!engine->core_clk) - engine->core_clk =3D devm_clk_get_enabled(dev, NULL); - if (IS_ERR(engine->core_clk)) - return ERR_CAST(engine->core_clk); + engine_cfg =3D device_get_match_data(dev); + if (!engine_cfg || !engine_cfg->fw_managed) { + /* + * Legacy DT binding uses different clk names for each consumer, + * so lets try those first. If none of those are a match, it means + * the we only have one clock and it is part of the dedicated DT node. + * Also, enable the clock before we check what HW version the driver + * supports. + */ + engine->core_clk =3D devm_clk_get_optional_enabled(dev, "ice_core_clk"); + if (!engine->core_clk) + engine->core_clk =3D devm_clk_get_optional_enabled(dev, "ice"); + if (!engine->core_clk) + engine->core_clk =3D devm_clk_get_enabled(dev, NULL); + if (IS_ERR(engine->core_clk)) + return ERR_CAST(engine->core_clk); + } =20 if (!qcom_ice_check_supported(engine)) return ERR_PTR(-EOPNOTSUPP); @@ -756,13 +764,17 @@ static void qcom_ice_remove(struct platform_device *p= dev) =20 static int ice_runtime_resume(struct device *dev) { - struct qcom_ice *ice =3D dev_get_drvdata(dev); + struct engine_desc *engine_cfg =3D device_get_match_data(dev); int err =3D 0; =20 - err =3D clk_prepare_enable(ice->core_clk); - if (err) { - dev_err(dev, "failed to enable core clock (%d)\n", - err); + if (!engine_cfg || !engine_cfg->fw_managed) { + struct qcom_ice *ice =3D dev_get_drvdata(dev); + + err =3D clk_prepare_enable(ice->core_clk); + if (err) { + dev_err(dev, "failed to enable core clock (%d)\n", + err); + } } =20 return err; @@ -770,9 +782,14 @@ static int ice_runtime_resume(struct device *dev) =20 static int ice_runtime_suspend(struct device *dev) { - struct qcom_ice *ice =3D dev_get_drvdata(dev); + const struct engine_desc *engine_cfg =3D device_get_match_data(dev); + + if (!engine_cfg || !engine_cfg->fw_managed) { + struct qcom_ice *ice =3D dev_get_drvdata(dev); + + clk_disable_unprepare(ice->core_clk); + } =20 - clk_disable_unprepare(ice->core_clk); return 0; } =20 @@ -780,8 +797,13 @@ static const struct dev_pm_ops ice_pm_ops =3D { SET_RUNTIME_PM_OPS(ice_runtime_suspend, ice_runtime_resume, NULL) }; =20 +static const struct engine_desc cfg_fw_managed =3D { + .fw_managed =3D true, +}; + static const struct of_device_id qcom_ice_of_match_table[] =3D { { .compatible =3D "qcom,inline-crypto-engine" }, + { .compatible =3D "qcom,sa8255p-inline-crypto-engine", .data =3D &cfg_fw_= managed }, { }, }; MODULE_DEVICE_TABLE(of, qcom_ice_of_match_table); --=20 2.34.1