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 C05EA2FDC4D for ; Mon, 15 Sep 2025 10:45:19 +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=1757933121; cv=none; b=Y6RMOd3EUdYznyhprTQ+vRelaOI9EYEOeqJqAQZCaofHjDzOcrRIA9HHEv1Qs3pZqM8WHAVHjiHZbr5NtSgQC1NERqIOQTM107dYrIzMoWcIAgPPrmg7PtcMtMWuRLx/5MdDm+CoHQCIKHx8QAFAJhcUUHAuwGUpvnZfavU0o08= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757933121; c=relaxed/simple; bh=4Hqmjd3+E40zlmae07f3O9TiuExFlT7eQnjsd/l9Bx4=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=lUcXrg0+buXebgMzPwafZT9rC7p7TjLROErg4tLKHksBj15TQyMdh6gtFMjpzlyBrfm5Up7bDhYnNLdaYQU/oOHR5KjeS5oQbqYD/WkvaNzifBx5icOwwmWqPTBKjF5J/mIIH1e71Kzc1+BKYE7lzcoiOZWZJet/S9EqDLK969U= 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=FZz7aImc; 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="FZz7aImc" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 58F8FkIc027257 for ; Mon, 15 Sep 2025 10:45:18 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= 3q9UHllEUzo7emL0csxSsit2MUCrJ9I6itNrb0wCCSE=; b=FZz7aImcq32G0kDj Oa/v2b1+4ho8TvoVx33/+DXzLu6BhQ+T0y2fU2AyBKpZPlGY9Kk3B3T/s4UjJO3x noR9HzsHnCHE+qs5qXNp4LA5L38qpD8KRJuCcw3w/RcKtM9wFfXVtWC2ygn864pG 6rGWIDOGU0AKw5IN5vhxFFne2Pc/Nh4htyRXVZYhuEhEUAumTfGHbmSoyqc//iri +LzLbhra0i3BdLPrYDkwj24dJQofMd10m8psh9gl40fmyJnQ5yXRiuy3sylmDUXj zlOs2iqquxLthxrORvtKbARxuKl1sCNtqZU9sIW8cVCoHU0oN7K3b+l7k6UKzjQK +0QCbA== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 495072mkya-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 15 Sep 2025 10:45:18 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-24c9e2b6533so9355315ad.2 for ; Mon, 15 Sep 2025 03:45:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757933112; x=1758537912; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=3q9UHllEUzo7emL0csxSsit2MUCrJ9I6itNrb0wCCSE=; b=ksJdqEbIbjHegE1YOb5dWJX/45yBMUxqAKl/zi+acnHyrXE0CJOHU/N0VTqjP6hgbI b7PMnGEecvRYCxVPCGhfZSW3ZwhVPLCLGesniRSUf4phYVddC4CkcdllJUGkOG3vahhz mXwl+hMXUfzD13PIlUX62YL8dMyd2dpN42Y5kXsaVrPgj0YOFU1W2NKoMDcSl6sHwew3 EnwZzY4UmGv6Tz5OT5aWJp+WeloKNDBHRT5N0NValXSwWs9M4gR/YIWROYRZiovsivFZ qC18AUcaImwGigMU0VO1sZ9x6w2ytSnPgYS8ZPjn9a4Jk2U+U0LGLAEiLLRweYs0Tt+k 9e+w== X-Forwarded-Encrypted: i=1; AJvYcCUwZrsUXCgHJqA46oaUoc3AsRTc04ml5X9azBbeAQSvz2IbgWOG+p1YYaagSdvZXZIDmn2eQKG2d/cSrP8=@vger.kernel.org X-Gm-Message-State: AOJu0Yx354KW8oRevV9P4O4+zd9WdtMt9l8z3zWaZ+dy7+2YPE2lHrFF wmQ2cOZtnUCiIOkjyLs2c5QL+vriNlqwpirzuzTI98Ynz6Hrrrct+CjX5O4TV9FcZgE0GV8UXcg RZUha6polDbhzdm4dnRMrV2HcTY1K247/e2C4yFZ9k2aNsCI/qgqLKtvcw+VNClfPOmE= X-Gm-Gg: ASbGncsfRI2c2OlJqam5uY5HzUbqn/yueIje1NhNLFfSJJc7yNKWf0Lt6CnWU4XCne9 kv+8mdvunyRIxVLzG1GslhXWYGVmex0BiMqd/ZXInGP/pH0jbUISqekJEYLTn2y9tSxxzziU5MR 4yjWvitOYml7Y5rKVsCH9TAA5E1ZpFQv8ipXdcV+MgxuLGZ2/PMXMadnJkVPLKZXeI9TH/lVPmV zTvXxWKfaPSpvCtbyjO6Q1ozOLp2H3XgO7q+hA2p+3w0MhtKEnjUrZtcBKgCW/pYNrnhixHccgJ AIsI4bfrQrRlWC1Pvtpv5KQYz2o4OTCUKy6hMucGRTUV/v6LBWCWkI/EPb9+PJN+zEB6F3GrvTO KzL0yS7H57oc7KXTkurLVT+XipEsJijZBi1A= X-Received: by 2002:a17:902:c94a:b0:262:923b:4e2e with SMTP id d9443c01a7336-262923b5125mr46665085ad.11.1757933112378; Mon, 15 Sep 2025 03:45:12 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGYdD9O4QdRiVJ5hAs101DS3Zf4FAq6fcZz1dgavqsmhdSqj3W4RYmxEazrWjBJJAH2vJCcqw== X-Received: by 2002:a17:902:c94a:b0:262:923b:4e2e with SMTP id d9443c01a7336-262923b5125mr46664835ad.11.1757933111666; Mon, 15 Sep 2025 03:45:11 -0700 (PDT) Received: from [10.133.33.231] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2664f0071e5sm27436305ad.68.2025.09.15.03.45.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Sep 2025 03:45:11 -0700 (PDT) Message-ID: <8baa3f62-8069-42cb-810d-33e1ad61abbb@oss.qualcomm.com> Date: Mon, 15 Sep 2025 18:45:02 +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 v4 08/13] phy: qcom: qmp-usbc: Add USB/DP switchable PHY clk register To: Dmitry Baryshkov Cc: Vinod Koul , Kishon Vijay Abraham I , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Philipp Zabel , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , David Airlie , Simona Vetter , linux-arm-msm@vger.kernel.org, linux-phy@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, fange.zhang@oss.qualcomm.com, yongxing.mou@oss.qualcomm.com, li.liu@oss.qualcomm.com, tingwei.zhang@oss.qualcomm.com, Bjorn Andersson , Konrad Dybcio References: <20250911-add-displayport-support-for-qcs615-platform-v4-0-2702bdda14ed@oss.qualcomm.com> <20250911-add-displayport-support-for-qcs615-platform-v4-8-2702bdda14ed@oss.qualcomm.com> <6p43oxn57kke5eotoqtt5gqtmhmgeteoymewqm3ko5q5veyegs@krkh4dwdno5i> <335ffce5-19c6-409d-8386-686fe9e5dea5@oss.qualcomm.com> <7ozv3u7xuvtz2x5q3pp5kdeydtsu5jlrgwjnxpxxiuh7przr2z@35uo7t3b4ze2> <05e8069e-895c-48b2-8a25-a4a680728cfa@oss.qualcomm.com> From: Xiangxu Yin In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwOTEzMDAyNSBTYWx0ZWRfX0fAQMmwSs8e1 U+q07xJVqEH3IVgRl5nsr0QDhmSoJN4zG4c0l/oVJr6OUxhX+RD5AAGWwJ+XfpEX65vAU0TPfy9 8hWteN+CWij+rFTzlEEJleVMMk7Dft9VaRnQaMf9zlVrlz5FZgdDJmBh9kQFEorsSOw9M0kKPIY d/DPwGBzVW58sezq7tkAkCqCV9bJu7ppMwOIOdM+ve0fi+fC6blNSzJqt+V5VhtIZ9k5/ywM7jJ e373eh0A8o9qRYm/2L4EC9l9BZAQ2TIDpVS/nQHP0N7w8poiHYzSfZh5NjjOXlQNdcgZzKDkPDI xP6FxQcXnO9z1yjKWHbI/gCaDabOpgl9sevUxiEuL7vJMfxtGOh/cW0DZ7MJKy+aDPNvVVCKEKM xw90RRyl X-Proofpoint-GUID: Z77rzQArapGo578sRtir80WtSmSlRKWm X-Authority-Analysis: v=2.4 cv=WcsMa1hX c=1 sm=1 tr=0 ts=68c7ee3e cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=yJojWOMRYYMA:10 a=EUspDBNiAAAA:8 a=rsY2jHysN4_Lp2AvgbIA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-ORIG-GUID: Z77rzQArapGo578sRtir80WtSmSlRKWm X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1117,Hydra:6.1.9,FMLib:17.12.80.40 definitions=2025-09-15_04,2025-09-12_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 adultscore=0 bulkscore=0 spamscore=0 suspectscore=0 phishscore=0 clxscore=1015 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2507300000 definitions=main-2509130025 On 9/15/2025 6:14 PM, Dmitry Baryshkov wrote: > On Mon, Sep 15, 2025 at 06:02:19PM +0800, Xiangxu Yin wrote: >> On 9/12/2025 8:08 PM, Dmitry Baryshkov wrote: >>> On Fri, Sep 12, 2025 at 08:00:14PM +0800, Xiangxu Yin wrote: >>>> On 9/12/2025 6:19 PM, Dmitry Baryshkov wrote: >>>>> On Thu, Sep 11, 2025 at 10:55:05PM +0800, Xiangxu Yin wrote: >>>>>> Add USB/DP switchable PHY clock registration and DT parsing for DP offsets. >>>>>> Extend qmp_usbc_register_clocks and clock provider logic to support both >>>>>> USB and DP instances. >>>>>> >>>>>> Signed-off-by: Xiangxu Yin >>>>>> --- >>>>>> drivers/phy/qualcomm/phy-qcom-qmp-usbc.c | 208 +++++++++++++++++++++++++++++-- >>>>>> 1 file changed, 195 insertions(+), 13 deletions(-) >>>>>> + default: >>>>>> + return 0; >>>>>> + } >>>>>> +} >>>>>> + >>>>>> +static int qmp_usbc_register_clocks(struct qmp_usbc *qmp, struct device_node *np) >>>>>> +{ >>>>>> + int ret; >>>>>> >>>>>> - ret = of_clk_add_hw_provider(np, of_clk_hw_simple_get, &fixed->hw); >>>>>> + ret = phy_pipe_clk_register(qmp, np); >>>>>> if (ret) >>>>>> return ret; >>>>>> >>>>>> - /* >>>>>> - * Roll a devm action because the clock provider is the child node, but >>>>>> - * the child node is not actually a device. >>>>>> - */ >>>>>> - return devm_add_action_or_reset(qmp->dev, phy_clk_release_provider, np); >>>>>> + if (qmp->dp_serdes != 0) { >>>>>> + ret = phy_dp_clks_register(qmp, np); >>>>>> + if (ret) >>>>>> + return ret; >>>>>> + } >>>>>> + >>>>>> + return devm_of_clk_add_hw_provider(qmp->dev, qmp_usbc_clks_hw_get, qmp); >>>>> Do you understand what did the comment (that you've removed) say? And >>>>> why? >>> And this was ignored :-( >> Sorry for missing this part. >> >> For USB-C PHY, the legacy implementation only supports USB with a single >> device node. The new driver for USB and DP also uses a single device node. > There is no 'new driver'. It's about DT. > >> The function devm_of_clk_add_hw_provider internally handles both >> of_clk_add_hw_provider and devres_add, and supports automatic resource >> release. >> >> So I think using devm_of_clk_add_hw_provider allows us to remove >> of_clk_add_hw_provider and devm_add_action_or_reset. > Which node is passed to of_clk_add_hw_provider() in the legacy DT case? > Which node is passed to of_clk_add_hw_provider() by > devm_of_clk_add_hw_provider()? Ohh, legacy is child node and devm is dev->of_node. Will add that back for compatibility. >> For combo PHY, the legacy implementation uses two device nodes: dp_np and >> usb_np. To maintain forward compatibility, we need to keep support for >> both nodes and retain the related logic.