From nobody Mon Feb 9 20:32:18 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 7EB4531354F for ; Mon, 26 Jan 2026 07:48:39 +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=1769413720; cv=none; b=D1lq61/ikL4kLxWA1vTc7nMI5QQla0NU2CU9bXny5cO21flgmcgz5OjZN4EMn3B4HrfGrToF4c+Vr0Omg72B0FNoEusRi53ccVbo5/xbj2jP5FPcWdZe9iSIXN1NqXR7FTEDFSv1RI2lCWhn/rPElthuvCrSvFOogrYDuSDCAJ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769413720; c=relaxed/simple; bh=nzaF2yP3ATiqQC37LSxmXVL9MqWLOY4wwOUNTmvz/UA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ua4H9EvTIVTgzhGSjle35fGfN1+QT8jbq3+7DfHf55RPN9jPSAtl0cVvRrCQuD6JkZsgru14wH5TmvctHS8O4CkpAOhUwhf/hgrqbYI1pbUAOfFbodqVa5Fgj9qN8nrcT+qnfKcewxkK8YbIyLoGSbx5H+SBTkmPlpekKcEHa/A= 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=d/Yev7/c; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=czKFTNxO; 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="d/Yev7/c"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="czKFTNxO" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60Q40lBh1361526 for ; Mon, 26 Jan 2026 07:48:39 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= V/JNJXfM7FDohbLniT/dm0wA/+qShrtEurl8w70+rXY=; b=d/Yev7/cZxugBpeD 9l2PwbnzFBbmG9ZLhBNgadDdH10geyFaOaaA3puQgI6ldvBa5XTtKrHUwL+yAcp6 3wsVUYsLTeLNPJebWQ0Bzj5HZGcE9u8fEw2uKRN7NPFbcCg3y8WOFfox15d+eC8y xmBE0+b1pE+Xzx4CRriZUjIJY0oJHgL250B2BBjKUtz2Mzy2yLpYCF8lvhOj56om daYTpSZa7whHC2BG+UD3IqIDn6/nkzwhnozBbj06uHdudayUURJYQgySFM+xSgI4 viJBH6BDDwkvfGzXoiC3TgOD6BefHXtXNi+V/NqDhNbT6abzXKFotrXh388T3DAN 24YyKA== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bx0v30ed9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 26 Jan 2026 07:48:38 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-81f8c209cfbso2158972b3a.2 for ; Sun, 25 Jan 2026 23:48:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769413718; x=1770018518; 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=V/JNJXfM7FDohbLniT/dm0wA/+qShrtEurl8w70+rXY=; b=czKFTNxOFSHOo8HVglEaCw5uB13rswrlxmiISk/ThlgUNH2UrTItH/yxFKfLS7LDnV xux+oaTUydtQaX/+FVAiYG1p4F3uHfP2k733/HfexsbbVddbz3Tgg8xRld9QHGNRyzy0 WclPgpAWtMapYfQwJYC/2UmXNinClhnjGtxbix/EWzix/5yi4t6favIM+P+caKwRW29W EtuhU1vqw9o+8nGxGqie4mdH6OmYpHHwq1M22epa1ft/l7ueA2+IPLogwhOMZrhwWga/ 0lZqa5ZxOM8gEfPA/pnoptO0qK8DHvo5K0pEfL6WgVXqQoObTxiyvlEC22SRJpCS1vdP FE3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769413718; x=1770018518; 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=V/JNJXfM7FDohbLniT/dm0wA/+qShrtEurl8w70+rXY=; b=T3VQOLyy3hDggILzZ7oiUiZ0jq5Hsg3B50lv63aOZ9Wcyr2RpXA1NbovbAis8/NoGt afZ3JT1bq6Fb4SFhwygfQFoPYANrjsD8iWlPmhNdyQsBIgUIhBxGnejUK6pJCdZN4dRa dMCpgQZsQd/9+5ZLqiE1rymr4q/5f086rvGMswu23ch67JFmPuj/+MIDGSzzlrFDUkzV 7TEx/f7ulU4pC/C1dXV9hXBJH1k6s/8cJTUPhPL3BrbLcgvXOFd9+tDpK1ImDjP6GHrG Usmm4DwmmzJFFQMN3Ts56uOhYMAluC4KViQzWQ2jVIu7tMJGviVoRZy/V/NSPlSwdS8p s3vg== X-Forwarded-Encrypted: i=1; AJvYcCXXgpnMAGfC1fmCsfxTai8ADbm8oBIjREbHMQ+1CC+oZDxEBi1/TUWUR1kt4kBChiFT40BzTQhtWK7lIds=@vger.kernel.org X-Gm-Message-State: AOJu0YwKdf9sW01Ljp7jkbo80VxnOSek851zNEMoqzikkA6BEKAHLznW N7B6DAJwylZEm76DKyRCcDenf0J75RkvWaKdzSzDl8KUzkQvIp2xs8GLLLNUlMgUPItWdUDROJI xr//rBICRl1J+nlraZ3Y5efLI0WmSg7CW2GTLfzDGiBK+Kw7ZECcJw+H3CJyUSwB0TAA= X-Gm-Gg: AZuq6aL8sdq2MpA+zBJNN/xvbMnYb56LP8HlIo5JMZdaFQAT26wHPWceAkANRGxMGHy QoyIAwx36zx+3KOgOfUbt3tTV3qa6zNEzWGPqxhLppeOya72zennTPudoCYsz4s2J9dt0DBCuzt VGVmJot4ohIKfjGK7K3GSecWtWHBXAbzGB5yiHk+/h6W81ZM5Na2a9AkKlMy2LGmAGUUCxBbqHS gdphRf7IPCPAECpjOBx2r0J3ILq5qpwdzMLu6V8MLD8hGZKCYJO1lOS/dPCmBJgh4d9E8HXHPSh F/HU/lmwxuXGXur2p8dGJYiRPz2mOqUexCSHcKHVdggzEY2rN9b+wxMVoh6A6QDBrdpHPRlxWOW Qvs6kizafI9+/4dRNXnkmSYWw287yxKmoCD/GwsEXxSNXoi3ZWjkPegchDNghtqCs5ugFJ+qGi5 Bx X-Received: by 2002:a05:6a00:1390:b0:81f:d605:9c9c with SMTP id d2e1a72fcca58-823411dab8fmr3255316b3a.11.1769413718106; Sun, 25 Jan 2026 23:48:38 -0800 (PST) X-Received: by 2002:a05:6a00:1390:b0:81f:d605:9c9c with SMTP id d2e1a72fcca58-823411dab8fmr3255298b3a.11.1769413717635; Sun, 25 Jan 2026 23:48:37 -0800 (PST) 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 d2e1a72fcca58-8234fd9a5a7sm1223418b3a.63.2026.01.25.23.48.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Jan 2026 23:48:37 -0800 (PST) From: Jie Gan Date: Mon, 26 Jan 2026 15:47:53 +0800 Subject: [PATCH v11 1/8] coresight: core: Refactoring 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: <20260126-enable-byte-cntr-for-ctcu-v11-1-c0af66ba15cf@oss.qualcomm.com> References: <20260126-enable-byte-cntr-for-ctcu-v11-0-c0af66ba15cf@oss.qualcomm.com> In-Reply-To: <20260126-enable-byte-cntr-for-ctcu-v11-0-c0af66ba15cf@oss.qualcomm.com> To: Suzuki K Poulose , Mike Leach , James Clark , Alexander Shishkin , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Tingwei Zhang , Mao Jinlong , 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=1769413705; l=3771; i=jie.gan@oss.qualcomm.com; s=20250909; h=from:subject:message-id; bh=nzaF2yP3ATiqQC37LSxmXVL9MqWLOY4wwOUNTmvz/UA=; b=QeNbIgWPyFTfJk6iiSTrgbTwJU7oQXHAfz8GJngUGE8I+62rS3Ry99tFlTq72CFoIJnUMEUWn fp1jRqH4RBnBIyft11AyYgm6eQ0pe8pAFdmlSi1v9yz/z2yUYLsxanu X-Developer-Key: i=jie.gan@oss.qualcomm.com; a=ed25519; pk=3LxxUZRPCNkvPDlWOvXfJNqNO4SfGdy3eghMb8puHuk= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTI2MDA2NiBTYWx0ZWRfX78YeHQcScPeG xzLtp+mJaOGf6YSf040XcZplDAS4kEQeWk3F90cbNtOpdgYija08vDIc9R87jhQUFSPkmt5Aid/ AhImBPppdgfLanSbmpkbtCZ6hPfkbb2beXwHVbmVTpm8/8ZQUl3lbp1m3zOTZqwNk/guCC80Wx9 tZDxblSjPhLE1pH/5cvTUC6+YAEyMhiXbkrwinswV8Cujbw/IuICcBHuf1mFcmECynv6sHnbz4E 7Hwnt2/QhlikDHkkQrSsN6JcmPCh37zm1d/oPkoZmKdqsjTvF+slKO7T1Kn3mKd0S75I3HGghRq J1/D5hPSgpZY6IQtrVm0LXR2Rpu8VhnAxI4oRjUhjDW7odNRAYJZY4Ma5p2UQGx9UFMQO8iQbbc ie87iQzf927sz1LfbfdRxGrC7x5/hIg4X6HxnFpCoN+1v1DMdvPggfTJu2WPcmlyUcdFFoILKC+ 993o1MUk97NIQXEc3zw== X-Proofpoint-GUID: QdnJz5u16kFaczEcbMd9drA1eObLcwAK X-Proofpoint-ORIG-GUID: QdnJz5u16kFaczEcbMd9drA1eObLcwAK X-Authority-Analysis: v=2.4 cv=JYyxbEKV c=1 sm=1 tr=0 ts=69771c56 cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=qQZ2XtAyJf2dEkEvaVsA:9 a=QEXdDO2ut3YA:10 a=zc0IvFSfCIW2DFIPzwfm:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.20,FMLib:17.12.100.49 definitions=2026-01-26_02,2026-01-22_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 lowpriorityscore=0 adultscore=0 bulkscore=0 clxscore=1015 impostorscore=0 phishscore=0 suspectscore=0 malwarescore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601260066 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 c660cf8adb1c..5f55f0c510e4 100644 --- a/drivers/hwtracing/coresight/coresight-core.c +++ b/drivers/hwtracing/coresight/coresight-core.c @@ -585,6 +585,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 abed15eb72b4..78be783b3cb2 100644 --- a/drivers/hwtracing/coresight/coresight-ctcu-core.c +++ b/drivers/hwtracing/coresight/coresight-ctcu-core.c @@ -118,23 +118,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) { @@ -147,7 +130,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 fd896ac07942..cbf80b83e5ce 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