From nobody Tue Feb 10 19:10:22 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 6ABAE32F746 for ; Wed, 24 Dec 2025 09:07:09 +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=1766567231; cv=none; b=McnhRHfG2tFAgm2zchT0qRDL6x7HGLz8rw4jWAJzDSa3l9v6ZoO5hAnEpHjQ1UGf9PUhgJ7/jyWlS4+gl4174anuPZJn3az5V/57TL2SALMGN3TthegLFX7Tq2Jz5JzHbIlITDOHbnzpWXwn1OGMS1+XpITVpZPV3YLQIH3xLGI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766567231; c=relaxed/simple; bh=x79EOx0VHbHe/nWXls6UDtNS83yDuFtih92LzPbC2MY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gH6sl9ekgu+JijSWHtNgw11WoCz3dn4XiC15nmW6bhnGAlgGsoOWwSrsUj7V9dP+UEzHb3SbGIqWl0VcJBUzZ+ow2A0nCRV1HIhNV8umWnAYoWMEJ0NLAr1KrZey9ThYaaZLeIAX3DIao+snN1drdrDqtJUHjjbl1Sri3lYElTw= 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=XDscumjd; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=PrAFx0+j; 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="XDscumjd"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="PrAFx0+j" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BO8JKe9721758 for ; Wed, 24 Dec 2025 09:07:08 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= TjPxjq1G/MyM9wZuLe71IZ2aZxQ93j8UibxFtFmopSw=; b=XDscumjdhCvlQT0G q/9wE09bSUcmwIuE36rs2C8PAN+c2FqQGvH5yPCoK7Joxyw7LiB6wnNw/XiQyszL zIiQLONjVDYIqKe3I4DerP76VUks8T+Ass1tJAeCHoQLPDPPk4T9HHdW5PavM5tP IVdtHwplSEnwect+0F9iZqLWORvzi0j4RFOQBTGi7s5D28xrZf3Td37e5E3bdXoW tiR+mTJfPfynHIIX0XKKHKJYrnbX+VdpLjeBzc7hCAQDlm7RqtzwguAsiwXcNwkF FkTuONKTrRzHgseEoMFFG/Q3usNstR+OhI33uItnb/vC5/RZbh0XkxcXvS/HNfAp D8KHIA== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4b81mt9r50-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 24 Dec 2025 09:07:08 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-29f177f4d02so128981345ad.2 for ; Wed, 24 Dec 2025 01:07:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1766567227; x=1767172027; 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=TjPxjq1G/MyM9wZuLe71IZ2aZxQ93j8UibxFtFmopSw=; b=PrAFx0+jIw1dECwVwE7YV3gzg1AQo3d1fIra5zx7q/XAb88Agp1l/dcGMKqJVfZvfE 7Mv3OShwtk/JsoxSiZI0+Nth5FeWZv1BUkRGLDrD2YrzBUKpZPjvpCrnQ1K0c+Kxx+rt VFvbXkFRz09VWT7yIoEQW3piYSqZmpGQPeCOzkZSYQKfY79RBxzkjyaRdMDPHJbTkuMI ruNPLcwUFRekK7p53fDVCGCCzBz84BZkmZPiFBeSKOIU6yVWCCvteZ0BKfyBD99LJQ6N 6GCXnOXskQiXBJEp+p33mTDNkFxg610sxba6F+KdIa6JTZIK4uACI6D4Ghrb9JuJ0B3g KltA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766567227; x=1767172027; 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=TjPxjq1G/MyM9wZuLe71IZ2aZxQ93j8UibxFtFmopSw=; b=KR9t7e704yurIjddLSoUMCR+rQ/YBVotBYARkdQjpFEhHf/xaKcMBuwG65nHeIwMCk BjDCPJQzsbMee6G/NCGcZ8eOFI83VXqTLRHShuIXk2o0LzGQw1hSF8waBdzNwa1nnd43 uQpB9cAz2rUwbiXouVT+eIjUN8tr4Z6ygZp+BG3GEO33Xl2sZW3rx460LyEdrfHOfB4/ FqjQWn6IheY9boA0dUXgxHCfyFH05OsTCcAZTthUZ/EEZKEuGeqtyf+Q4b6RTT60csKl faJIjDLSLpbwEA14uqQHNx+gXLn8/gZlzIMAF04VEXzOSz89htfoX1Hv73gM+yRm7zy1 4j+g== X-Forwarded-Encrypted: i=1; AJvYcCV4ySs+zpYuL0JjNBBGT7a1srcBeBcVI4vXb6DDTZP5dSppFwJIiLU+XJyrtu/k3J8cmP+pmlMVQ3RzSmk=@vger.kernel.org X-Gm-Message-State: AOJu0YwWN0Y80Y1zfvLmScYoxJejWSuFar9FigYDiL1SwjrzinbeYr0g j1cqmelkpj3xqYlVBbmDJOOs9DLvUbOti9dfcTMbnVr6epdG+4vTwJhkoQs4DWnWWHYVPhDVPB5 CKVXU9Tl8U4qzLPHmtZB13aCFu9eWa9qVyXNokQpXKAEDhOpGM/YP4aJLbcGBsGLfTRiikGHc0G Y= X-Gm-Gg: AY/fxX4TJBPMLAMWnCzvyF12K9GMzwOK3tIU7Qy427yuRE4FyyYuLYExWoWFZ3zOP7u ZuvEd7TPMOACz2xCfTMwLuQpqvn1HMu1nGZ/bNrEQRL6hVuQzu2BC3xEq0Y3zCR3l9qpCYDxt9F vuniQRhSbEPznSaoKVz+jIK497PC4330yZavpUQLpSLzRbTwX8vTHUfIFQdPHjtMnzETB4WzhTM vchWC/BG6t8X6a5gmm1kML0ofO1/SrETKSXQw9J74TNOLEW45GBz41h4gnfDWfXSVTIivaJ+h+X YSxloxuuSCxsM4WKI0ICLOE9GTWXqYWW9vZGN8+dRQ6KuIsqufyN0B6CDP2vyeK1d9UGKxWUEDy V/T0FMCPBd2iQlleBURZZy3oA1lGN4wnlYfB6hDcUGLDiEoLGoZHDA0r8Ox8pqlWTstQTcybP X-Received: by 2002:a17:902:e552:b0:2a0:8360:3a74 with SMTP id d9443c01a7336-2a2f2835cfdmr127686755ad.51.1766567226984; Wed, 24 Dec 2025 01:07:06 -0800 (PST) X-Google-Smtp-Source: AGHT+IHUOmvjkE5jwGJCb1wUcNBlhuAbPgrp6XJATw6fq12VDVQFcyEJstSLNscyietWEtLwkYnlwA== X-Received: by 2002:a17:902:e552:b0:2a0:8360:3a74 with SMTP id d9443c01a7336-2a2f2835cfdmr127686615ad.51.1766567226479; Wed, 24 Dec 2025 01:07:06 -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 d9443c01a7336-2a2f3c666d5sm148418095ad.21.2025.12.24.01.07.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Dec 2025 01:07:06 -0800 (PST) From: Jie Gan Date: Wed, 24 Dec 2025 17:06:11 +0800 Subject: [PATCH v9 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: <20251224-enable-byte-cntr-for-ctcu-v9-1-886c4496fed4@oss.qualcomm.com> References: <20251224-enable-byte-cntr-for-ctcu-v9-0-886c4496fed4@oss.qualcomm.com> In-Reply-To: <20251224-enable-byte-cntr-for-ctcu-v9-0-886c4496fed4@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 X-Mailer: b4 0.14.0 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766567215; l=3769; i=jie.gan@oss.qualcomm.com; s=20250909; h=from:subject:message-id; bh=x79EOx0VHbHe/nWXls6UDtNS83yDuFtih92LzPbC2MY=; b=Ah6yDC0yixoVi0q8wSVIKghtnnoYfvtBJTeVvk+aonsv3NXB7C4bH8t4+1K3l/vrrufgWoUar EQUzPjule/GCEB4sXHar2a67gpPHVoCFrE9le94DD2JN/ELf3ckIfg8 X-Developer-Key: i=jie.gan@oss.qualcomm.com; a=ed25519; pk=3LxxUZRPCNkvPDlWOvXfJNqNO4SfGdy3eghMb8puHuk= X-Authority-Analysis: v=2.4 cv=e/ILiKp/ c=1 sm=1 tr=0 ts=694bad3c cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=qQZ2XtAyJf2dEkEvaVsA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 650nRr1bMhNfTuOGbxPy2W0dngQP5o9Y X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjI0MDA3OCBTYWx0ZWRfX5kMxgxnCmXGw GaW4a/pQ5XyUWnSbZpAxz59F8WPxTknt9PjKCUFtODo9gq50GVJIX60ZHyuyVRPf767KpCVjpJh lAJecS9SuNOo23eGtrGetvOE+b3Mo511yCSF6UKP3s8F8H8Y25S46pdE3PN9dMuzouYjMSpDdZ4 3PDkougqabMEdes7dho/G6lgt2pdpvx/uV9tdanngSKoz0fP9GdhxpVQ8NvsdqDODAsWuI9mFdb xoYsjZOKOoPISbY55YXPFRqBrVJgv8+ssek073EWYcePWHv3ZJc8gU0et/dqM4Iwf3zAQYIDzaP SDgg2ULtNRA5pM2Zes6VvCz/qypjDgxZvYkIOEjQuY4VuzCtNfYTh9JxAoZd29UVP2R1a04S6V3 V3mV1QunAmrWhsx4g/DuypfXZG5Uh5bEdfuY61YUkY0tvCde+LDhV4vi9dOVeaLZr552dPzwUur ZLPT9sSNPmnI7h/Huyg== X-Proofpoint-ORIG-GUID: 650nRr1bMhNfTuOGbxPy2W0dngQP5o9Y X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-24_02,2025-12-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 phishscore=0 adultscore=0 suspectscore=0 spamscore=0 lowpriorityscore=0 malwarescore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512240078 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..0e8448784c62 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 @csdev where a @re= mote + * 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