From nobody Thu Apr 2 06:28:00 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 40D76387590 for ; Mon, 23 Mar 2026 09:49:56 +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=1774259397; cv=none; b=hC6zwKdfP3V69Ds3MZcu9QvKJKnePz7H9xY/wWK+j1zbulFmgfD6ln0yZ/D22/vY75NHmF3sKRuabP2SS7M3ocg9R2xbAAP+VhN4AxEGyChKOD4KemrXupfXmY2zKK3ZlzuznGAENnVLdfyaK8bqJi71cIRoVaii7DRJ8mkm/fM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774259397; c=relaxed/simple; bh=ckf80wWUcb1qnI0v7q/6ZqqYr3nuJh7ROL35EVLOH7w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sqeHxTgpfYIUAEqtNrWx0sHtSOP4hNMdmlfb1gH48+9zDPgusFu82itBrD8ALHHyYTOdHVrGvcK30STHOE+NV/mDbj8HZBK0hgresoo0tHYdYZnokViXMjBqB/7NOGBESr9cFGyG1Kh7jWbXqR8RBnCTApiBddP957GxPYlB1oA= 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=Mn7WVtAN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kgFAvpZm; 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="Mn7WVtAN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kgFAvpZm" 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 62N7tMFS2291969 for ; Mon, 23 Mar 2026 09:49:55 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= aOdpdbZJkeNi3c6n6qEjoFu015+pEeWRTwmOxcPblaY=; b=Mn7WVtANdLkIu+8d ykBDn7KOR2vtBgKonqxOg0r0blLWFH8TBhoKkUME5Bk0NcZySln1ruTj4QQn0pQW rEpWrqmMGi0rM5PveuriqY7HMp9LzXugw1t0AombowwSCleZ0sKJE5z/Avk+Qv7t Qv0mDQY7c/kK0WKeeaxvAtA/5r/qFZ9WF8Zl3ChMXON2hT+w5DejOeycpqwhXWrI VZLRzQl8IplW2b9MS+w1SmIHavZfa9mQpxLEEj7C+TeNcgv06Rp+kBYgWrwFL82/ DXHD/nRVrXZrmvbzB1ryz48TcnUCNynZVBCNUspOI2oAPfTnPWvWI/eVhCSykXXX DN4KEQ== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4d31j70cyy-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 23 Mar 2026 09:49:55 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-35bea322389so1349961a91.1 for ; Mon, 23 Mar 2026 02:49:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1774259395; x=1774864195; 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=aOdpdbZJkeNi3c6n6qEjoFu015+pEeWRTwmOxcPblaY=; b=kgFAvpZmVSzAQqXc3K8grVmwyFog8rDnkztt4dYxTC7NGrcM0l0Yyn8+LH+yakIzct wNr5QeQgT43GSlefYSG+Oy5vrOst9eGcTUTtRfiHmxZylOUOEgoOZCwPtdliCtsHlZg6 RIFdhsfY0/PE/Zy5uN+mBWuEC8C5dvMB2fhu9le2YMnUEqsuMYGSPFbBr86VF60jF96R ypW5xOKG8Iit6seKoESyOiaXSzydcVBYcHkKKhgn2dEySOV+u1OCK8IWn4Zm77xt9p5h Rr7ODbJ4nxLRC2x0LBV9we0VrFIM+z8jhF7PsXxtnTFNEd3qMf9obMDPriE9nNFpLUNj M5Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774259395; x=1774864195; 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=aOdpdbZJkeNi3c6n6qEjoFu015+pEeWRTwmOxcPblaY=; b=cv9WVVwobNAgwOibzlSId30H/6uv7pfLoBWhTZKjWSpZYFv5c54crAkwyCs/InQSDu q/kbs4bUT6fvXiqvlqTPLk+y4igPJ4UvQSPZd62F6jYtucTMBvD1SCbb3fRPm3/sy3iL nloXnORJgjgrYUEFk0z3ocpagohbTmSC6wZmPcRgOPWGdnINDzMD5zviejDWhga6sd6i 9w+Z1kvQ+pNfb21UrIO6TbSmrUtDFj8g1COylmjTuEhERVOs7Le7gmA4O2JDrk/5mPR9 42T5ayN2sIX6ukDft7/2JH7TWLi1OkXvQ0xeeRg+XWKHoEMIZr/GqzhChDJ1C3mBv3wD Gf9g== X-Forwarded-Encrypted: i=1; AJvYcCUVb1LnvqSx4VzOZJiFXOVjNdzWexCfNlX1mMkIAzdS4zhorwZ09/mFsRLkqoVWNO94wHRhIVU9dEDXtjY=@vger.kernel.org X-Gm-Message-State: AOJu0Yxv3wZ2TgX7wN7XZPaJLYzCp26SC3zTX8qtvcXCf4ursI4g2n6Z 2Q5WAcNL5Q+/dWd2tfmySvvOC2RQnj1Y8jMQodwaxmSqAEFghybJ1K3IdEoqxINt+0Ciai+J03g ZWf5zOJDESzH51UDPY7l+Xm2tGQn/ynFRQ5XZDPJd6bPIH7hIVrh46hWOmxf6XJz6YGY= X-Gm-Gg: ATEYQzzmubbHQeuHhSBu1S0pKUX4w01aFFfyH7D2pdirFxtTEAcHj7L+m4QTbP/GZlV QHsu+jW4je88xeZ34baqCi6r/hh05HT4PPa/ePgfm3QCgXcOoUTtC2sy4eZlqIRkRww+lrSEVHf nepvk4hQx8b4BvHh5i5QJM4+8p69eBJDKb7LAblKFkOrCbUYrPOupBfhdBH8Ocz6IuiGe1LOE3x 1J4V5vFHNiNt3NC6mzD+Tr9rXKV/DVI6KKPm/HYgcPS+1kknS0M9PTDff32TIQPVftgWvC/A4jY zx86SoX8VJdqWThLJm0ykFaLOjuvOBQv+ei9UzA4AdGKkNURjYyUCmFnAWybB2FE7W1cnNiX99c FcVz+a/BZxwuvC713UpSCesC5wCIId3saSV3dWHB0x6EbaRDflxK7wchyL7xWBUkVLTPef0jd/s wroHLp/8Sc X-Received: by 2002:a17:902:f545:b0:2ae:5655:b16 with SMTP id d9443c01a7336-2b0827556bfmr114909045ad.21.1774259394754; Mon, 23 Mar 2026 02:49:54 -0700 (PDT) X-Received: by 2002:a17:902:f545:b0:2ae:5655:b16 with SMTP id d9443c01a7336-2b0827556bfmr114908795ad.21.1774259394276; Mon, 23 Mar 2026 02:49:54 -0700 (PDT) Received: from jiegan-gv.ap.qualcomm.com (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c743a939af0sm6591935a12.16.2026.03.23.02.49.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Mar 2026 02:49:53 -0700 (PDT) From: Jie Gan Date: Mon, 23 Mar 2026 17:49:26 +0800 Subject: [PATCH v16 1/7] coresight: core: refactor ctcu_get_active_port and make it generic 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: <20260323-enable-byte-cntr-for-ctcu-v16-1-7a413d211b8d@oss.qualcomm.com> References: <20260323-enable-byte-cntr-for-ctcu-v16-0-7a413d211b8d@oss.qualcomm.com> In-Reply-To: <20260323-enable-byte-cntr-for-ctcu-v16-0-7a413d211b8d@oss.qualcomm.com> To: Suzuki K Poulose , Mike Leach , James Clark , Alexander Shishkin , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Tingwei Zhang , Bjorn Andersson , Konrad Dybcio Cc: coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, Jie Gan , Mike Leach X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1774259383; l=3771; i=jie.gan@oss.qualcomm.com; s=20250909; h=from:subject:message-id; bh=ckf80wWUcb1qnI0v7q/6ZqqYr3nuJh7ROL35EVLOH7w=; b=w8ZILQOnGTMowRbpwWpLUHa5OOF+7MJT/Ml5rl4sI+DJZQpFY3JY/QPQdMZL7gqB50X0CQjcF Ld7n0gX3kSYAOt22Gbfx3Q5bQ5n5sDS6wUCigNYTrtUhtb2T00rpytb X-Developer-Key: i=jie.gan@oss.qualcomm.com; a=ed25519; pk=3LxxUZRPCNkvPDlWOvXfJNqNO4SfGdy3eghMb8puHuk= X-Authority-Analysis: v=2.4 cv=ArXjHe9P c=1 sm=1 tr=0 ts=69c10cc3 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=qQZ2XtAyJf2dEkEvaVsA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: FzPVAtmkHtEmVdmGCv-u3LNqe4raNRj3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzIzMDA3NSBTYWx0ZWRfXzmEXMoFzwbIW zq+vz8H6vQ4eeHnGwlk/tLii7xiqdydw58V6ZvdSOM0kLUB0YwYRluNY7wBodFsNL0lD8f35/oL aA7cT0NONroO4dwIwgiL3MIKKL0uTjSkNnZPeDuefkK0yxmPKYGPIY6ZnN8ryWl/snQs2UatU9o s6Sce7k92GoO8DnjvRJaU+aQxFl/veY6s5pWYtAmsEp3mD7BQCNQx0B0R3VDHNQajPbFq3jyKuz zogAn69Ta05g1YuW0GKKAiZB6e0W0PCYHhYTiYuwY7L/gvvr15LSppSaEpt08+whd9pzDk5TxCd a1zjkttxcEBB26M18otTlywtxps1rzOrH1rqDsD2Vt+zg4Oh99yktrRV5+hs9TwVyEb9XA61PkO ityDfeLMtL+7enmEe2lXGH/Lv8v+CJgAF1HLyWofMxj0mQil06c3FGXDvg8eR+ON1my3YGuoCgn QXibizEJOebh9tHwwqQ== X-Proofpoint-GUID: FzPVAtmkHtEmVdmGCv-u3LNqe4raNRj3 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-03-23_03,2026-03-20_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501 spamscore=0 impostorscore=0 suspectscore=0 adultscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603230075 Remove ctcu_get_active_port from CTCU module and add it to the core framework. The port number is crucial for the CTCU device to identify which ETR it serves. With the port number we can correctly get required parameters of the CTCU device in TMC module. Reviewed-by: Mike Leach Signed-off-by: Jie Gan --- drivers/hwtracing/coresight/coresight-core.c | 24 +++++++++++++++++++= ++++ drivers/hwtracing/coresight/coresight-ctcu-core.c | 19 +----------------- drivers/hwtracing/coresight/coresight-priv.h | 2 ++ 3 files changed, 27 insertions(+), 18 deletions(-) diff --git a/drivers/hwtracing/coresight/coresight-core.c b/drivers/hwtraci= ng/coresight/coresight-core.c index 46f247f73cf6..221de57ca57b 100644 --- a/drivers/hwtracing/coresight/coresight-core.c +++ b/drivers/hwtracing/coresight/coresight-core.c @@ -588,6 +588,30 @@ struct coresight_device *coresight_get_sink(struct cor= esight_path *path) } EXPORT_SYMBOL_GPL(coresight_get_sink); =20 +/** + * coresight_get_in_port: Find the input port number at @remote where the = @csdev + * device is connected to. + * + * @csdev: csdev of the device. + * @remote: csdev of the remote device which is connected to @csdev. + * + * Return: port number upon success or -EINVAL for fail. + */ +int coresight_get_in_port(struct coresight_device *csdev, + struct coresight_device *remote) +{ + struct coresight_platform_data *pdata =3D remote->pdata; + int i; + + for (i =3D 0; i < pdata->nr_inconns; ++i) { + if (pdata->in_conns[i]->src_dev =3D=3D csdev) + return pdata->in_conns[i]->dest_port; + } + + return -EINVAL; +} +EXPORT_SYMBOL_GPL(coresight_get_in_port); + u32 coresight_get_sink_id(struct coresight_device *csdev) { if (!csdev->ea) diff --git a/drivers/hwtracing/coresight/coresight-ctcu-core.c b/drivers/hw= tracing/coresight/coresight-ctcu-core.c index 9043cad42f01..e8720026c9e3 100644 --- a/drivers/hwtracing/coresight/coresight-ctcu-core.c +++ b/drivers/hwtracing/coresight/coresight-ctcu-core.c @@ -116,23 +116,6 @@ static int __ctcu_set_etr_traceid(struct coresight_dev= ice *csdev, u8 traceid, in return 0; } =20 -/* - * Searching the sink device from helper's view in case there are multiple= helper devices - * connected to the sink device. - */ -static int ctcu_get_active_port(struct coresight_device *sink, struct core= sight_device *helper) -{ - struct coresight_platform_data *pdata =3D helper->pdata; - int i; - - for (i =3D 0; i < pdata->nr_inconns; ++i) { - if (pdata->in_conns[i]->src_dev =3D=3D sink) - return pdata->in_conns[i]->dest_port; - } - - return -EINVAL; -} - static int ctcu_set_etr_traceid(struct coresight_device *csdev, struct cor= esight_path *path, bool enable) { @@ -145,7 +128,7 @@ static int ctcu_set_etr_traceid(struct coresight_device= *csdev, struct coresight return -EINVAL; } =20 - port_num =3D ctcu_get_active_port(sink, csdev); + port_num =3D coresight_get_in_port(sink, csdev); if (port_num < 0) return -EINVAL; =20 diff --git a/drivers/hwtracing/coresight/coresight-priv.h b/drivers/hwtraci= ng/coresight/coresight-priv.h index 1ea882dffd70..5532ec82e82c 100644 --- a/drivers/hwtracing/coresight/coresight-priv.h +++ b/drivers/hwtracing/coresight/coresight-priv.h @@ -155,6 +155,8 @@ void coresight_remove_links(struct coresight_device *or= ig, u32 coresight_get_sink_id(struct coresight_device *csdev); void coresight_path_assign_trace_id(struct coresight_path *path, enum cs_mode mode); +int coresight_get_in_port(struct coresight_device *csdev, + struct coresight_device *remote); =20 #if IS_ENABLED(CONFIG_CORESIGHT_SOURCE_ETM3X) int etm_readl_cp14(u32 off, unsigned int *val); --=20 2.34.1