From mboxrd@z Thu Jan 1 00:00:00 1970 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 4FAFA378822 for ; Tue, 3 Feb 2026 06:51:03 +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=1770101464; cv=none; b=ZqYM1tchitYeIlIEcU7pKp9TVG9Q7Q8/eGxwslgpw/LeF4n3azyfivWf8e7I5J6rMgU4SsvEjiNkLsZPWQI2Z77m04w3q01xD8kdze+ybaCb7Ma+pgAiKoEC7KhBom7ybqPZqo5N0vCpLPz5S0rx64+T/q2YJVn1tkctN9/aSuM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770101464; c=relaxed/simple; bh=x1tsE4ZhtJU4C3sZzvuspPuK6Vq3c3UlJjmlYbXa1EQ=; h=Subject:To:Cc:References:From:Message-ID:Date:MIME-Version: In-Reply-To:Content-Type; b=YdE1PNskD8kb//MmwyVJgcMdox4vyF8NzpRmYshc1dX6eefUu+XF2v1rVVuAzuOw/mGT2Dn9adg5Wt/JXWE7gpMX+TN+9efctvsFWhxWyIrYP79ssLAbxaNlLMrrVCRSWLf5qEeVS145ucmDD4wnDT7YuPyuTVJwr/kgoijK97E= 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=OflcdSEm; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=hp/V7i89; 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="OflcdSEm"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="hp/V7i89" 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 6133H69X930798 for ; Tue, 3 Feb 2026 06:51: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= r1pH55PL93WRwbH9y5bpsksIG5KU6syJ1vyIyGzGvEs=; b=OflcdSEmEe1DRL9v GThpDpYElxBY/38afA3xRjC1co3XevyphhwZzaQSSb4YQUQzu/B+MFb5EiOUshUd J7OYT2RGLUUjP47e9dTSwEs2ODYmSjzfIDgyd9PCGGB0N6SJXAJS12CHnjegI4YC KHKZ2WxjFwHg9HRQN/GMK+fREZKxOz3vLuBBxpywpGk+quXDhC7tgnuTlfA8d6SS FVUv13Lsw/l9FbS32R4XRIFvdboV7e4U5EPqwDWBuVqH3HTPpn4ElrZagDWWxK6K OctfEpz9zxN44hQ7P34X+UPl2Eo/96FloL9WCJjODckgiJohewIvvQh3ut5kJk4J H6qlIg== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c38yu0jkg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 03 Feb 2026 06:51:02 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-29f2381ea85so122759595ad.0 for ; Mon, 02 Feb 2026 22:51:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770101462; x=1770706262; darn=vger.kernel.org; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject:from:to:cc :subject:date:message-id:reply-to; bh=r1pH55PL93WRwbH9y5bpsksIG5KU6syJ1vyIyGzGvEs=; b=hp/V7i89vYRPjAurmHWonzLeL4YlKWD9+p80e40pOEliBYE5JgL/dQDmBvllwm46ab BfkR3IH9LsM8Iu+XnCm5KbX6QHRgI9/d0Ywr16O9XwwEy8go10JJXkYikI19lpylqG6D U+SxJBn+3uE0snMm5cgT1zySZgSK/kZbweDBlEHOh/uD7uIX8k4uEZ99UR91rZN9CiEW NAp32fz76d/Tas5CrpK/VZqu49TSFyZDj6vAiZ93tBn8c8uMOFustQPga1F7fMl408nl eJ+4nnH8UUJgCPrrHaBJk/b2vZVKonHBxmZMfia8W/7SAkTdhIyVb2y0ESlV8gZoJ/H3 /zvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770101462; x=1770706262; h=content-transfer-encoding:content-language:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=r1pH55PL93WRwbH9y5bpsksIG5KU6syJ1vyIyGzGvEs=; b=KfTwokWJeSqYEU8WkIfktHqwD8b+1rpIpJBrY8aCtF9laS6/41jYVG0nnmPYiC/F1g //ecJVUHm4GuLLeZ+J3iwvhQ+3lTCCWnLgDT7oyDb+JEVDwApGiqjkuVcqGkrK/L+PPj +jgYND6uYXUeJcrZaO8enWo6t4iedA5gQcGpRzKCnxHsR5ffB9uIl7KRla6V6wjr57QR SvUnB7Oxrz4GfiFUinF4Lg2mKr6d51164dvMvOhxb+c4+JcSvVxxko09SRIDCQNA8Zts PLywr+tPKo03fQFKFZBGcPY0AiPiISyRyr3m8cKFEmTEcHQoJ6Y9Glo5/CTxSvZW3/2O 0SEg== X-Forwarded-Encrypted: i=1; AJvYcCWa73eCl3D7B+DMtt0tA8OyokPsOZoDdwLm3/heCHVkW2WNlVKDbH2cz4u31ZpfuJI0y4nIyEpaXcxN0pg=@vger.kernel.org X-Gm-Message-State: AOJu0YzVZWjo5WZ137Cs9Wx9rCuR3vluUuzXKSp91uCGATAdszOxlu+z WikHis64kKo+wTztPLfjn7i7xGx7NVvMM9/U4a0mWXDYSy5blNNf4itat1ARQF+zZx6sh2cxClM 63VpFDwKnBbCVLJpj5mngDg3utqZguJDCH5BXPeKJmyAZlKRsMrucAmnfUwRhNFEayvo= X-Gm-Gg: AZuq6aL84Wz1/nqmNRjbxrHMaxuCkuZDAWyRo1YymRDMH00GjPB9Dh64j0exochTOPn BVKF8TjXdXIUtrsMNvG50c9pQF1iwQQLn8gQP6KX/dSReF9mHQPGNR4J/l10vLEGsLeSHUpUANY ba+ejh7ADsX/APgSnX30jsOmxhnPLI9j/xflkD8BChcNXWEMkoszcSpS6ghb0rHOfCi1BmCZe36 2QS3NptS7LkAAHXG+zv4hh6Qd5tQ2aKeDOMT0ZhD8cbjwOugJ5x1dsL09s91cQzf59xtMxiYoI0 xwR1pY7tfC1MkmBs2fRPqVdQz5OiT5zQmYMTIcHHhl0fdHa3Tqf/ToXvt5AnODL0pFvaRPoe1Ar dxpyiwbbYvdk0JaaRXiS/OfwvdTMvoTvP1lz+CQ== X-Received: by 2002:a17:902:f64d:b0:2a7:9ded:9b48 with SMTP id d9443c01a7336-2a8d9919450mr149298805ad.38.1770101461795; Mon, 02 Feb 2026 22:51:01 -0800 (PST) X-Received: by 2002:a17:902:f64d:b0:2a7:9ded:9b48 with SMTP id d9443c01a7336-2a8d9919450mr149298635ad.38.1770101461324; Mon, 02 Feb 2026 22:51:01 -0800 (PST) Received: from [10.217.222.63] ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2a88b6e4317sm169781535ad.85.2026.02.02.22.50.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 02 Feb 2026 22:51:00 -0800 (PST) Subject: Re: [PATCH v2] soc: qcom: ice: Stop probe deferring once ICE isn't detected To: Manivannan Sadhasivam , Konrad Dybcio Cc: Sumit Garg , linux-arm-msm@vger.kernel.org, Dmitry Baryshkov , andersson@kernel.org, konradybcio@kernel.org, robh+dt@kernel.org, abelvesa@kernel.org, linux-kernel@vger.kernel.org, Sumit Garg References: <20260202082534.121042-1-sumit.garg@kernel.org> From: Neeraj Soni Message-ID: Date: Tue, 3 Feb 2026 12:20:56 +0530 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjAzMDA1MyBTYWx0ZWRfX0xpycAU53p2N nc2AUugKTgN+TiB7vCTnY4hBESCOkDk7Qfi38+/lc+qMWtan7fvRFfoGdfsbjFzYETvZNEpKw8B KtBiE5NgQ6finItx6A9P1+NwHxMHGwoJ3GGV2B7f1UcgzqODvRgtizdqOVMeIXpeil08dqFbZSq vqvnCxDJ0/BXvMHLU3GPDSw5MbsQcV8GqT1xyx68xaMywv05b44FnNUtxJxEgoKhJ4kbO9xXXlr FFQoaXgcm20rVXlk1tLILsE0ZcoOj21JxvdHABRTGpyP99CmuNCqCHzZG88MAP83O3DEKrPPTvO hZyal6ZiJeRMQJiRV/T2aEn742JTjQFqrcr+zJtnNa1u6MUUmyvBowxg58exwiCW/HZC90/ILlN NZS9VCYw+BsI41+0zJwpniRZykbRWHzKrtfzX3aJmTwG1/SjlXCqLwUbvsEV59lALNjCG/UBAwA rEBxbubGjeABGdcsU1Q== X-Proofpoint-ORIG-GUID: Y96gW8FvV-JOOhQUrFVbvgbeC_MeGkdz X-Proofpoint-GUID: Y96gW8FvV-JOOhQUrFVbvgbeC_MeGkdz X-Authority-Analysis: v=2.4 cv=UKTQ3Sfy c=1 sm=1 tr=0 ts=69819ad6 cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=aiM2xm0B1U5VkYVJFJ0A:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 a=cvBusfyB2V15izCimMoJ:22 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-03_02,2026-02-02_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 malwarescore=0 adultscore=0 priorityscore=1501 phishscore=0 clxscore=1015 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602030053 On 2/2/2026 4:25 PM, Manivannan Sadhasivam wrote: > On Mon, Feb 02, 2026 at 11:51:51AM +0100, Konrad Dybcio wrote: >> On 2/2/26 9:25 AM, Sumit Garg wrote: >>> From: Sumit Garg >>> >>> ICE related SCM calls may not be supported in every TZ environment like >>> OP-TEE or a no-TZ environment too. So let's try to stop probe deferring >>> when it's known that ICE feature isn't supported. >>> >>> This problem only came to notice after the inline encryption drivers were >>> enabled in the arm64 defconfig by: commit 5f37788adedd ("arm64: defconfig: >>> Enable SCSI UFS Crypto and Block Inline encryption drivers"). >>> >>> Fixes: 2afbf43a4aec ("soc: qcom: Make the Qualcomm UFS/SDCC ICE a dedicated driver") >>> Signed-off-by: Sumit Garg >>> --- >>> >>> Changes in v2: >>> - Keep the probe deferring intact but stop it once it's know ICE SCM >>> calls aren't supported by the TZ firmware. >>> >>> drivers/soc/qcom/ice.c | 11 +++++++---- >>> 1 file changed, 7 insertions(+), 4 deletions(-) >>> >>> diff --git a/drivers/soc/qcom/ice.c b/drivers/soc/qcom/ice.c >>> index b203bc685cad..5a630c9010ee 100644 >>> --- a/drivers/soc/qcom/ice.c >>> +++ b/drivers/soc/qcom/ice.c >>> @@ -559,7 +559,7 @@ static struct qcom_ice *qcom_ice_create(struct device *dev, >>> >>> if (!qcom_scm_ice_available()) { >>> dev_warn(dev, "ICE SCM interface not found\n"); >>> - return NULL; >>> + return ERR_PTR(-EOPNOTSUPP); >>> } >>> >>> engine = devm_kzalloc(dev, sizeof(*engine), GFP_KERNEL); >>> @@ -648,11 +648,14 @@ static struct qcom_ice *of_qcom_ice_get(struct device *dev) >>> } >>> >>> ice = platform_get_drvdata(pdev); >>> - if (!ice) { >>> + if (IS_ERR_OR_NULL(ice)) { >>> dev_err(dev, "Cannot get ice instance from %s\n", >>> dev_name(&pdev->dev)); >>> platform_device_put(pdev); >>> - return ERR_PTR(-EPROBE_DEFER); >>> + if (PTR_ERR(ice) == -EOPNOTSUPP) >>> + return NULL; >> >> The consumer drivers check specifically for -EOPNOTSUPP, let's >> just return that >> >>> + else >>> + return ERR_PTR(-EPROBE_DEFER); >>> } >>> >>> link = device_link_add(dev, &pdev->dev, DL_FLAG_AUTOREMOVE_SUPPLIER); >>> @@ -726,7 +729,7 @@ static int qcom_ice_probe(struct platform_device *pdev) >>> } >>> >>> engine = qcom_ice_create(&pdev->dev, base); >>> - if (IS_ERR(engine)) >>> + if (IS_ERR(engine) && PTR_ERR(engine) != -EOPNOTSUPP) >>> return PTR_ERR(engine); >> >> This essentially says "probe succeeded, device not operational", >> I have mixed feelings.. That said I'm not sure about the lifecycle >> of a platform_device, i.e. can we set the drvdata and return an error >> in .probe anyway? >> > > No. Let's remove the probe() altogether and expose this driver as a pure > library. > The ICE driver already acts as a library for legacy DT case where consumer device provides 'ice' reg range. It was made dedicated platform driver as ICE is a common IP for UFS and SDCC. See here: https://lore.kernel.org/all/20230407105029.2274111-4-abel.vesa@linaro.org/ I think it will be better if we resolve the race between probe() and *of_qcom_ice_get(). > - Mani > Regards Neeraj