From nobody Tue Apr 7 14:40:57 2026 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 94AA7386C3A for ; Fri, 13 Mar 2026 09:02:51 +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=1773392573; cv=none; b=VYMsy4UytSsItD3theQOiao6+gbqzEBN6qJJDZ5aLsXX3FQ8EesgXA74nj1KXQbxiEe8vTerWWgv6iJoKmh4yjho48TRmvxydzLXQIQoCJjNgrfA3vxIHQKmj5pwkTCjIGbH5kUpugZnUrTUu35Dp9WeFVWXNez0T/8oyejpbOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773392573; c=relaxed/simple; bh=ckf80wWUcb1qnI0v7q/6ZqqYr3nuJh7ROL35EVLOH7w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Q2W+C0jplUpGB7Ltog1nmCIDCB+giGCAKuYkhBbV7LVcWbQEc8kQPIfXh0eys7dSRCdoIbLBM0XHe3DhgkZEyUvzbLJjikXb9CGtpQa5o6SlgYj7+B40V1jqsL/Cf/90Fv8C/bJ+NOTzGo0mZvJX7iWu2l6c7estZu9mflPfeU4= 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=THZ0iXBn; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=kRJW8QfQ; 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="THZ0iXBn"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="kRJW8QfQ" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 62D5tpBh1015142 for ; Fri, 13 Mar 2026 09:02:44 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=THZ0iXBnRpfwi66q bycRV2natZUmE2rHybS/kvBqs+m77SehKofeSekf/WSIseZNZsB6vA24t40smfgh L7GGveMOY+zhDhBhmvJr1AMyVk5u1BjiylSyw4xlDU8UZ71iUdqu3kyi2ZCgKzyB aD/qYgrE6uJEuZ9un974J2LjSou/FVvNuIQaHL7TaihRV11oB0/GDzr+DRKvoyCJ UhjXnh2gPoRMaor8VTmqfzcn9eKEfXp+EHbrmAFWmULiSfk2qz76yF5g3WuaTq88 70eL+3pu0FLxgFDpkdYDUe2gBXPcTDbkUiZCUDOLyHLM2NqhpP2IGbOJstanf/00 CFTZ9w== 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 4cumvdmqck-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 13 Mar 2026 09:02:44 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-35a02f3b8e2so8459744a91.0 for ; Fri, 13 Mar 2026 02:02:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773392564; x=1773997364; 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=kRJW8QfQcaY2DJGslxhmZ8meBDOVorJwAplXXbMIT7IIcBMXvKRPWSQy7lw/1iO9EK J8qpoctbiEQdNqD/JPGPQhShNb4B9aiNH6uIvprTN4pi7XUwI/zywE11PEKS3FP77XgX 5dl6ywW3plQVAbGkLbkZW/9CPNKW+zONtY5EdQAJ8vbqBn3HfmndYUotXf3UjsRlkSS7 S1Ke/tveRMOhlxx4bLYq6u+xN0VEEDge+fDIfyPRSJBWYXIq4cuARJj1Yr574C2hfivt Kh/lC19RWpz5cWTsu0BlgNn9jiDTEZ3D9O6k+WZTNZV86C4henp81vw0V633EuvqCZpI KA0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773392564; x=1773997364; 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=emWDv+7Z089WyFlwU+NOeWI+I2ETETyb9f6dlgaFRgR1TYYZFkpjXSbQsiL2Bbng86 ERjZTA/hTV0P8T2IQceShBVTBpU2ihN0qNM+MscNCEYBYS07zde4Tj4glELiTu4iA46a ZRiIxskdxqolwzF81m6KC5KTWSsNL6C2rdMVjxlQLTc5wDATitiyaAHCIq7wfzmnyJfw y10o2P1K0s55NVrUB8vbjDNGxbZTPTAP14TXaaoQO3oOTvK21iprBjlQIOUOpA1x0SEN THf644KX0gZc3K5DtBP/YB9V6RwBGvhPM9t5H0xr0oxfXYyrPGu1yBO91INKUi7/RqAW N6Ow== X-Forwarded-Encrypted: i=1; AJvYcCUEZmXU9EDT7lU1hUyubNlf/fOdjYCiND8cDFiuPzhE2BOzIAjeZF8TM4mqJWBhRRK+opviw3g+qKJa6Y8=@vger.kernel.org X-Gm-Message-State: AOJu0YzUTWR2yY4/+ABPUFIfOaGaILwXDcZE/4bT8E1E3C8OcAzqZwm3 I7GptWw7mXWqNsy12+M+p7i1HcBmsQHB87dV16+WeI4wCnaDEmIYRtsriQU3qOLhQ4WFdVZqL+Q 47r9RgH2rg+Hf9Mf40SoU0fBnSYrOM9xDRI+QaeLQpIUH9AXrZMw9HvT2YXvBKrmxdBo= X-Gm-Gg: ATEYQzzGePM7TfV2Pw2EAHBWNB2FD4QkFotGa1pgxj4xMBWJB5e35fvGNcVC/mTzkcz jUBMuqGxPJ87GUIuPqBgGyc0wb5KcqKc4Qyr896eY/PDMw2fzsTRr8x3LpPEvl/EEqP3yxWYDDn KAVh5UnEU2aLE1tEPQcZmYgQoMsVNK2DS2gaNmCRqe1a3saXM5GvGY4t6Ic/gQQgtM7qLe/Ftdm YdMhe6GNgiEPbraAzaCmrUR46gTeZd5QB+ECBkR4DaxP9Tq+HgZLDmm/QK0pRVgaoXacwg2ADCN 5jqPIgiENGdzTOz3rL6Zq1Wvjrs6RJjfQ3CEkVbLt5exn8g0OEjq3NXQb8gZlFHLpTzCmYIttnJ OS+FYB8nxzKRj4+udx0GAz1dsti3dbAg6S9j5SQI8JTsy09DIGLc0FFK9n1JQR30QLwB5ujvhV/ +yjZG6PTsB X-Received: by 2002:a05:6a21:339a:b0:347:9ae1:cffb with SMTP id adf61e73a8af0-398ecab089emr2423220637.24.1773392563580; Fri, 13 Mar 2026 02:02:43 -0700 (PDT) X-Received: by 2002:a05:6a21:339a:b0:347:9ae1:cffb with SMTP id adf61e73a8af0-398ecab089emr2423158637.24.1773392562923; Fri, 13 Mar 2026 02:02:42 -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-c73ebb9ed44sm1269275a12.34.2026.03.13.02.02.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 13 Mar 2026 02:02:42 -0700 (PDT) From: Jie Gan Date: Fri, 13 Mar 2026 17:02:04 +0800 Subject: [PATCH v15 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: <20260313-enable-byte-cntr-for-ctcu-v15-1-1777f14ed319@oss.qualcomm.com> References: <20260313-enable-byte-cntr-for-ctcu-v15-0-1777f14ed319@oss.qualcomm.com> In-Reply-To: <20260313-enable-byte-cntr-for-ctcu-v15-0-1777f14ed319@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=1773392552; l=3771; i=jie.gan@oss.qualcomm.com; s=20250909; h=from:subject:message-id; bh=ckf80wWUcb1qnI0v7q/6ZqqYr3nuJh7ROL35EVLOH7w=; b=c/dRbCE5JkmyLINGwwdPHLcTkYrm7yMV8q5tvofpzFQTU7KcXIJgFI63txp30QPtCREO35GBx Q5aR9IeTh+HC3vuo91oweld6aAYBhoPk90BhhK3WfITAv129Baly/sG X-Developer-Key: i=jie.gan@oss.qualcomm.com; a=ed25519; pk=3LxxUZRPCNkvPDlWOvXfJNqNO4SfGdy3eghMb8puHuk= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzEzMDA2OCBTYWx0ZWRfX00xPZmkSUbwY U8AU3yR7zRHD6AifVonWUkNHFmO1CmANo9fK3/ROQ31pofmrj70C0V4BpJHEJ0i8qiLG4jOj72r avQRIcGhDcaXNkbeBb0OVR4M6ypPVQf9rjLrQKHLF3pEoiGZlAT/gAUD2N0pQQa/J0Uw7HRIgXw aswhc5pNybL7M3Q+8BgeRTT4PPAL0ckGuh8GVqoO4/sAPht9iIn9aWnFx+TTuCvEktu00pouHfN d1Jpc/hYO+V5PSoOgn8su0PQ55LL8EdW0eeUcvw0gR4kwu2N+sm7lfAoDz1BX6eebDN8t1rR7xq TTusl5WS8JEuioDl0nhfxK9jPv+0+Ej9a+AP8VXKnHR0Z9jlIGtfwolu7HdZaSyD3WgIHYi7Eva PJaMiB19D29t1OrlqQoHnMuycGyx+QcChiuD0lblZcYeIzBsp5eTJqPRJJVqI7R43cT8y6D8M5P 7RLBe0cwPpugeUTT0Jg== X-Proofpoint-GUID: pQvDWUy6kAheOCmGykligILBmjSCAAhn X-Proofpoint-ORIG-GUID: pQvDWUy6kAheOCmGykligILBmjSCAAhn X-Authority-Analysis: v=2.4 cv=XsT3+FF9 c=1 sm=1 tr=0 ts=69b3d2b4 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=qQZ2XtAyJf2dEkEvaVsA:9 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 a=cvBusfyB2V15izCimMoJ:22 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-13_01,2026-03-12_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 bulkscore=0 clxscore=1015 adultscore=0 priorityscore=1501 impostorscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001 definitions=main-2603130068 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