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 2BDE7399889 for ; Tue, 18 Aug 2026 07:35:46 +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=1787038547; cv=none; b=NuM0qDv/utfvhTOHl8aNAattqmSDrs+4iymegIISkWFPQg85Rt0rm9r7+NWfacGlCB4kupjbq4GH7i4EZw2v/DegDPmDqUTzWLq/otjzRrj2SRwdImsX0ZU4jU1RXhcsZ9ZM8QFhKKZWiIJ2IsRtyxGWO6uQdZEg6cEH20/YmPI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787038547; c=relaxed/simple; bh=xIlVaHLdF9RILHy5U21P1YD5GxYGtq4fDOhJxfXZMIE=; h=Message-ID:Date:MIME-Version:Subject:From:To:Cc:References: In-Reply-To:Content-Type; b=OBRqB6pwUB1mp0U0JDmiZmdHISBWWBIeoeIkZQPRImHJfDViX/8cCKmIMJx1r7DFkCFfinr1bFytwh8zmjc6lAmDs2pJ4jqmr5oJwDyFr4wtMhpU00IeHdooQcf28W6PBLZuxk/Lf274T7WswtH684CuxzniJGUxYma4uPeva7M= 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=WdZ9hjpX; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FALdGwN0; 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="WdZ9hjpX"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FALdGwN0" 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 67I7EFno180944 for ; Tue, 18 Aug 2026 07:35:45 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= BvXrpqcs5lPXIdDWiOCpyiClU4baliOXlhRFFuuFV64=; b=WdZ9hjpXR3ktUiM3 UISeqzZQPLvXW9DsBHSpVjzcMn+cMZ8OdVVGp9MxIv6cBFZI4zlRFDGmDArFDRgO PiEMcyyh/Q71TbBAV8AZnidlxFBZewn4V3f639LNXzGaFDZUmCyik4IXaCEfn4Ml l+A+Ir6iOHRFKtBaONiyZcauXDLP7I8cTr/BGJrNAb39iZC9sX4QxpMT4bKeWEJT 2JpyIGo2TCu18twd/8QjWXlsxC9ZVW4kEBFcMUnYhsTXWXMbGxfLt18PAQzPJ+71 IlJLaDK/ctnNxASH4H/8t5VExT1ntoY3Sx18mqnAMUS4za+RwlPkHZJ60hZFkx2T +SAh0w== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4g4fba91mf-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 18 Aug 2026 07:35:45 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-38fa7b09921so6652497a91.1 for ; Tue, 18 Aug 2026 00:35:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1787038545; x=1787643345; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to:content-type; bh=BvXrpqcs5lPXIdDWiOCpyiClU4baliOXlhRFFuuFV64=; b=FALdGwN0ZuDHNbHoe5kFrk5KmOy2Adf/fu1L6UjWcdFYTCDUi5jEl1GM1gKQpBO2d/ nwUjt5s8MqpK5qVhKjf8TJXE7+xkoA5XzJ5+wiXZW3lOy73fjFz0nN4Cg08fuSr88OHe 6wu0+SZwe1nlRtt3rgb6tUo2o4b5RjRTXt6elA0i17S5b3NB77tqZ11QhZCdVUA4n9zZ lNisKXhFn6O0nWHyApYvGfC0q2MmC73ceW4t9B/lpYscXnUPyvMMbg1tRoRAy9YO/fhH U8lE89KWI3kbFAP+KZZ2cbUkckqj5Co2cTdX8+PhfRztlQmIdpplvt1MhLGf/ukjriwH M2Fw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787038545; x=1787643345; h=content-transfer-encoding:content-type:in-reply-to:content-language :references:cc:to:from:subject:user-agent:mime-version:date :message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=BvXrpqcs5lPXIdDWiOCpyiClU4baliOXlhRFFuuFV64=; b=jWVYBXj684fDKz/wvg640b3OLuFZQMk/+RQlkwxh+28g6v8ErnnhICwE/irlJPuH7v XYa35TKSgRH9m9MAYoKIIH1oYYjoPstRIyffG5YPAeGc6avqmUeVHM9LwBkqJbzSZDlb C0hfvPjQlf9IJ3ohMuqgtTmPhYMpa2vvqqc0oPKxMtUBwLLqiwpL4mrlN4FAKOghUkdT psFg4AJ5SieWmHbhWF6bO/48Zhdm+Sbr+Td96roG5R+OnUwYJgWs1ZAVCHcXQNtsb7i5 TT1QqWCC7Ugr7DStDuZOK1HmQa3wOSZ/sEzNrn3TAsJWetHNL4zxA69S3U4iSpTNKcAq RiHA== X-Forwarded-Encrypted: i=1; AHgh+RpO48Zp8qZCst7vcvMF/yEK0YriX0F3+2LGSfvJNh5e/K2JGR5+rdx0xx2qQapVNyJFXhioUXf3D4Knqes=@vger.kernel.org X-Gm-Message-State: AOJu0YwsGAbISzrVMVRGE1LScYWoGuRSvwLKxbAKzyw2A3Ws4vjqz3iJ ph7dZdZ1E3IJ355LQ1n2fOZ1fRwd8HjD9F3sEdF2i4XQ9diDhO4hH6VjmvMoMUUtoPTR7I/gpeP cuZh8NzfGfCYaBSWQU8bvprz3yWw1Hz1rKmnFcfqquRSOAPphwUwoD/uIKtcJZarSJAM= X-Gm-Gg: AR+sD10FDqr96Q1n7vj7a53D31Kjf5O9L5xyCyAoKYXV5cNFguMR7BZPnXseNVF8VAO imasg+CI53c6/CCChlhAYPgx6jcGb25r3EiitQxGxrwX2etl+4EnTX4BChCygzS9rgytriufNWx HuKYf06fv3mm9ZEOlbD3/+LONTBINc0biNOTJ2YSMW7v1g0FE0lmqy5l0AKBFKRh5oSK5ZgbURw raBBxSrv35f5DCJ8YlEkNAU4nYbT+JeUHrHxFgSrVv15NYHLA7XDEhatpypjlRwO7piXkbCYSp/ CzZx5mGs/leC+YbY1AOX8axkf+6UDwF9ygoZ9qSd+vntHJoLl1x5ikoOAW8gOILJ/fu5tBBlaJN Nt0HLZ67z5jjl/75Qm+JBl3OvgdYIM49k0mqKVOga/2xItLg38Oj2Ag== X-Received: by 2002:a17:90b:2802:b0:38e:9e9d:9209 with SMTP id 98e67ed59e1d1-3955aa42a2amr7910910a91.17.1787038544681; Tue, 18 Aug 2026 00:35:44 -0700 (PDT) X-Received: by 2002:a17:90b:2802:b0:38e:9e9d:9209 with SMTP id 98e67ed59e1d1-3955aa42a2amr7910821a91.17.1787038544141; Tue, 18 Aug 2026 00:35:44 -0700 (PDT) Received: from [10.110.9.3] (i-global254.qualcomm.com. [199.106.103.254]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3954de0f48esm1673404a91.0.2026.08.18.00.35.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 18 Aug 2026 00:35:43 -0700 (PDT) Message-ID: Date: Tue, 18 Aug 2026 15:35:38 +0800 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 v2 2/3] soc: qcom: ice: Enable PM runtime for ICE driver From: Linlin Zhang To: Krzysztof Kozlowski , Rob Herring , Conor Dooley , Bjorn Andersson , Konrad Dybcio Cc: Herbert Xu , "David S . Miller" , devicetree@vger.kernel.org, linux-crypto@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Neeraj Soni , Deepti Jaggi , bjorn.andersson@oss.qualcomm.com References: <20260512033750.3393050-1-linlin.zhang@oss.qualcomm.com> <20260512033750.3393050-3-linlin.zhang@oss.qualcomm.com> <01578e6a-d10a-46df-bb32-fd45ecb365d7@oss.qualcomm.com> <60b775b0-5482-4b95-b37e-ba5764efc0cf@oss.qualcomm.com> Content-Language: en-US In-Reply-To: <60b775b0-5482-4b95-b37e-ba5764efc0cf@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Info: AW1haW4tMjYwODE4MDA1NSBTYWx0ZWRfXxSmYgHSP/ikb ej5QbDjdsvQQt+m7yoaQgnIpAWWS9PwhiBivGrVtwwnApALuw5dwDXPVr40YGLWENb0pE7IbEpW Fcul7CwMaFSlYfFiN2XqbzxniKnjzSA= X-Authority-Analysis: v=2.4 cv=VsITxe2n c=1 sm=1 tr=0 ts=6a840b51 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=JYp8KDb2vCoCEuGobkYCKw==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=zdAPh6cMWLyj7RvgIaUA:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-ORIG-GUID: -rtuAQ3oJ_XLfPeGH4UVLEiXyblbWMOp X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODE4MDA1NSBTYWx0ZWRfX94F7L9/eV1Bu bhNPNCKvCah4rybMxpmGR74UamiizsdRdgJoDBMNzivO5EULKQZXqlHrVrYmdgHGJhMiLsv9GqR FHhHIzBqnlZ6I17Pbv/jBFbNpFMYgsreowa/OljOlgaGurdnyk6d4xfceBWrW+1HmXpMKUONzUy PlHM/8H7FEs1MihljJwMgJmPOWWlUkLWHzHoCTMnyTFmB7FkUuj86nVmjk4yWHO2JCQzSaHcuV2 X80PbLFwRnfdy2KfOYs0/mG9joShSgWyslA3ZYeIiOZNiRpM9zvL1ErX5CEVk3PK3Xo2lT+/UhJ 5cINdGE4gd2hZTvbQEZdjLk7TnPptRLKH2browvv4g7GFUSEYFEIxl8nZ5xhs37ofJ0fjOzQdVj qKkTeXrddurbOA3vS+6pduPwA94HsBOV9ezj05Sb7bEmerJ7oPxM6A5I08G8DvuvC9Ix0kiCn7l Z/yJER+EaYmDBPBsRBw== X-Proofpoint-GUID: -rtuAQ3oJ_XLfPeGH4UVLEiXyblbWMOp X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-17_04,2026-08-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 clxscore=1015 bulkscore=0 priorityscore=1501 phishscore=0 adultscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608180055 On 8/18/2026 3:30 PM, Linlin Zhang wrote: > > > On 5/15/2026 10:48 PM, Krzysztof Kozlowski wrote: >> On 15/05/2026 16:22, Linlin Zhang wrote: >>> >>> Hi Krzysztof, >>> >>> Thanks for the review. >>> >>> For the SCMI-based platforms (e.g. sa8255p), the ICE resources such as >>> clocks are not controlled directly by the ICE driver. Instead, they are >>> managed by remote firmware and exposed to Linux via power domains. As a >>> result, the ICE driver cannot use clk_prepare_enable() directly to >>> control the hardware clock. >>> >>> The intention of moving the clock handling into runtime PM callbacks is >>> to align the ICE driver with the power domain framework used on these >>> platforms. When the ICE device is attached to a power domain, invoking >>> pm_runtime_resume_and_get() will trigger the provider (remote firmware >>> via SCMI) to power up the device, which in turn enables the underlying >>> clock and other resources. >>> >>> This design follows the guidance where the runtime PM framework is >>> used as the common mechanism to abstract both: >>> - direct clock control on non-SCMI platforms, and >>> - firmware-controlled resources via power domains on SCMI platforms. >>> >>> In both cases, the runtime PM callbacks are responsible for performing >>> the actual resource enable/disable: >>> - for legacy platforms: clk_prepare_enable()/disable_unprepare() >>> - for SCMI platforms: power domain on/off handled by firmware >>> >>> So while it may look like an additional layer on legacy platforms, this >>> approach provides a unified mechanism without requiring separate driver >>> entry points or special handling in the upper layers (e.g. UFS driver). >>> >>> That said, I understand your concern that introducing runtime PM solely >>> for clock gating can be seen as unnecessary overhead on existing >>> platforms. I will revisit the implementation to ensure that: >>> - the runtime PM integration does not introduce regressions for legacy >>> platforms, and >>> - the design clearly justifies the common abstraction for both SCMI >>> and non-SCMI cases. >>> >>> In addition, I rewrite the commit message as the following to make the >>> intention more clear. >>> >>> On some platforms the ICE device is placed in a firmware-managed power >>> domain. In those cases the ICE core resources (including the clock) are >>> not directly controllable by Linux and are instead toggled by the power >>> domain provider (e.g. remote firmware via SCMI). >>> >>> Wire the ICE device into runtime PM so that a single pm_runtime >>> transition is used to bring the ICE device up/down. When the device is >>> attached to a PM domain, pm_runtime_resume_and_get()/pm_runtime_put_sync() >>> will invoke the PM domain callbacks and let the provider manage the >>> resources. On platforms without a PM domain the runtime PM callbacks >>> continue to perform the existing clock enable/disable locally. >>> >>> No functional change is intended for non-firmware-managed platforms; the >>> change provides a common control point that allows ICE to operate when >>> resources are owned by a PM domain provider. >>> >> >> >> Nothing here resolves the comments. Also, it's top posted. Honestly, I >> won't be talking through you with LLM, so consider patch NAKed. >> >> Best regards, >> Krzysztof > > Sorry for the late due to personal matters. > > At that time, I reviewed your comments one by one and provided answers, then > let AI polish the answer. > > I'll add new replies after your comments point by point. > > Thanks for the review. > Alternatively, if you would prefer to review a revised patch series that incorporates the changes we have already agreed upon for patches 0/3 and 1/3, please let me know and I would be happy to prepare it. Thanks