From nobody Mon Apr 13 07:13: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 8EC3F37FF48 for ; Mon, 9 Mar 2026 09:48: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=1773049702; cv=none; b=rbJOkLjUJdnFJ+L8U0mQAGzQaw7D4O/XbohHKWIJUb5O1l3cgWTU5BtOUhhHTZgjHFDqsqf7oIxuPdIRlPZtNqFz1CndkdWwgkEMxHLspOFegrr/X3Kd86nth1LFw1Bi5kVN4/Fz0HvfjfqrYheui5Eqbb23cwtXw7LAdFvjF7E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773049702; c=relaxed/simple; bh=ckf80wWUcb1qnI0v7q/6ZqqYr3nuJh7ROL35EVLOH7w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dp/GJm4xF/uJuolIrAcpdQWnc+zHVXgzhFyEM2cAX4aJV9zFwuVFFqaYekog9fYApAGJIP3PB0rivtfZUeDkBFt+wbwz2tksWyQwFu5dnpNp3nSV+BNMhqKnQWMC4Flrdoa6776uhQWby9FH6XqW6IpuNW8x7RUclr9S9WfMetc= 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=iZzMoV6k; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BzEhv8Hg; 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="iZzMoV6k"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BzEhv8Hg" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6297xapZ755770 for ; Mon, 9 Mar 2026 09:48: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= aOdpdbZJkeNi3c6n6qEjoFu015+pEeWRTwmOxcPblaY=; b=iZzMoV6kALXGGI+H YEwVtlR0hvT8XhKBqqCBBj9skPwKCYNRNle6mOvuPSJIKpzE40/zsdqY4Pb7RUrk YO8SCq0/9/iNQX8EIIht3o180FlBIBoy5mX2FzOx2AAsE8XVxJsDz/LtTa/NB4ID 7tKkCJoU1kiLIvRX4x4oQX2rewR7+NbYdjPyOxWRNv48xgQrnrDW6+tEGbOCHDBE AnZWIPRINCZDPzMhC8OJY0eTJHjousLcrBucar7D1IjiuEbwx1VDX0eTEn2+gjbf ei14XxvoTRUe3Tr/JlMnjnAyEbifoyxxXIh2wvbk4j73I76g0b7KCOTx+4wBfWpy r95BKA== 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 4crb14vykd-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 09 Mar 2026 09:48:18 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-35979a03106so8569272a91.1 for ; Mon, 09 Mar 2026 02:48:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1773049697; x=1773654497; 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=BzEhv8HgVaYTZGWKL+D5nWrPiy8igpW1N8sBZ/u1AiD199bDK2PVbbthdI8k6EXBZk 9+s7FD25mvN+MfqclpXMhi5So2VX5qsH5RP96y1j5lv9fOEGcpsb1XSl13Ye0yVfa5NK sG9MbO3+XokPep2Jf5/scImG8u2lq0vMU+kX43U2WJUXiz7CKj4hCmaWgN25TODqxsO5 sfvl3gHrgMedOkqKeOvbCtcC46u/TPGUIIwQIs5JToaTGhqv15DptP0I90zagrZI9xNw v7c1Y3kDYe8RC565YOsHke1wqK30cjgfbh0HTar8J0fsRSGq4Y+QvOoLtjoNBE5V7Cq6 aykQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773049697; x=1773654497; 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=EVtd0/AHJIYYcmNMCoBE2IxVic+cEVEYkQiTUQ0dv6np3fOAIC74HH8PbezwNrCd// OZVdfBRJkOnndOqO0qtnT+yJ/WNM97gHSE6idthcyS6VZbxyKNOfxrMCPn2CShYRcoDm TVxaXLManzXXsek0xmIcljLV/PoD0cEB1KCet2tiLkgomd3AZzJOXupmAJz5wYothjV0 0jmofWyLyUmg0du4BM0/rtymbd/HRXDnN12SSHGi+J8awsS0uOg/hVDsw7T5a7Gez1hF y1dmPjwkZrBOTT0+8vKdsFi/VOMfC+9N+WOgjj2YgfkO41nz/vZsW6+eIccucI2xxLx6 Rs7A== X-Forwarded-Encrypted: i=1; AJvYcCWRYtxhC93/WnoNWKjs0ZkoxkmYGS/Xrphxoc14P/rdKkRkAkzq7s7WFdPutVGzsKUB4d1IXpqsH106gqU=@vger.kernel.org X-Gm-Message-State: AOJu0YxrhFL72xaS+2zYj5853azPZCZCgHtpLOGwf+BDcGJZEOyftrCh X1/qb1rXGQM6BFTjAuFD+Yk0OB0BYMcmnK7T+BlWWJrQb3OCP92xfmbQv23zvwGYrNABW/ii4lc AsbAS7pwI7DoCCspq5bGGBZYqhLZl7gtZKOnvqcnVCLbNncIknf0H71CjhSBNoN2jKZ4= X-Gm-Gg: ATEYQzz6RpuhaX/T0pLq/zTEYpeLm+NofBLo0rtT2hSPvxx4CIlnmIyR77a4k90iAmo coJ6PIxGgIevwQL7JG+Xm3XoGhVsJvzLCsAi7tpS54a5Eg1lnVqw4cOgFVL16gj3Ij/S7pKbqBx SJBCL2mGc9M1maI8eVMXjMZtXkHaUJd0Ixql0i57I7DvO6ECl5XgtJdzrbHd2DRZhLCLwiDKKfx vHzQuF8BVNTetz0GPkA6hyzUPGMqd4fVpkj8Qo6pKVY0B+75VCG0Gwd+rKpo4p3y4plr07o8ZVM /N+WBRlasOqY0Q+/Kc0OQRi86GEm9e1bf9bZ4+3eec4dY8HkSM/lEFk6oRfCRUSZcpBPyY1dt2i gjJ0ITcIH3HsWwLPZGU4Eqop2PYVvcm2VQhdy2fFQ+QvyKj4/sSesbWuDKonB6tRNAqBaC1ygw9 9Ve4yETnxC X-Received: by 2002:a17:90b:3b51:b0:354:a2a0:259f with SMTP id 98e67ed59e1d1-359be2712b1mr9314281a91.12.1773049697351; Mon, 09 Mar 2026 02:48:17 -0700 (PDT) X-Received: by 2002:a17:90b:3b51:b0:354:a2a0:259f with SMTP id 98e67ed59e1d1-359be2712b1mr9314256a91.12.1773049696833; Mon, 09 Mar 2026 02:48:16 -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 d9443c01a7336-2ae83e575e6sm104948435ad.5.2026.03.09.02.48.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Mar 2026 02:48:16 -0700 (PDT) From: Jie Gan Date: Mon, 09 Mar 2026 17:47:40 +0800 Subject: [PATCH v14 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: <20260309-enable-byte-cntr-for-ctcu-v14-1-c08823e5a8e6@oss.qualcomm.com> References: <20260309-enable-byte-cntr-for-ctcu-v14-0-c08823e5a8e6@oss.qualcomm.com> In-Reply-To: <20260309-enable-byte-cntr-for-ctcu-v14-0-c08823e5a8e6@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=1773049686; l=3771; i=jie.gan@oss.qualcomm.com; s=20250909; h=from:subject:message-id; bh=ckf80wWUcb1qnI0v7q/6ZqqYr3nuJh7ROL35EVLOH7w=; b=SP1XBoxrjv50xLFsBmzMeldsDCMB1RShb3RxUsYvVhf4SyCCM5CIn2Rs0xqX/kti1exe207ZY cY1nHs7jN9UD/5HGaQRmMbnoWI5WtLsPWwJpBpPBKQxAlTUdWxXciWl X-Developer-Key: i=jie.gan@oss.qualcomm.com; a=ed25519; pk=3LxxUZRPCNkvPDlWOvXfJNqNO4SfGdy3eghMb8puHuk= X-Authority-Analysis: v=2.4 cv=IYSKmGqa c=1 sm=1 tr=0 ts=69ae9762 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=_glEPmIy2e8OvE2BGh3C:22 a=KKAkSRfTAAAA:8 a=EUspDBNiAAAA:8 a=qQZ2XtAyJf2dEkEvaVsA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: 4YOYGAmc9ylLxj0VPV9ke4BkQdNTpAlR X-Proofpoint-ORIG-GUID: 4YOYGAmc9ylLxj0VPV9ke4BkQdNTpAlR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMzA5MDA5MCBTYWx0ZWRfX9+7CyOyiQELb 4qGuwpsRu/wc0dZDOIjIlzNBQ7k15gNMRnpcjC9WPKTMNo1nHLpxOz+5RyY3WLPRJMeyTYp4vgs /Sv25wmb6WT9sXqpH+erPk6f6HA69KsFUeFa0MkV9qpIH3O5yLosGqqtxuBQymfNrYCfxNbYqIE bxHZFJLD4AzzaRstqeb+ItjNwWPA254T4nkcl0qP+HLdOloE2BlUb0wKD2Pa59+mywLO0UY4lzd VMD/ansGdKsWdIuNPQrYr/AI1Ajoey/rpiPLCm53HKTLL6UCcQl/jWwRz4ZM0SBsj84ptlxlZEm kv3TS1lv2ITgpkLHT8SqI/FLD/VIJsiZ2/ZGN7VwXHyqWgYM5ac3rIIJDYHo0Hw4i5/dvxsrrHt d1tqwxoHlvubQTSe7t1NPF+GUIJYU8adFE4Cktb4frtTXTlNJtpPc4sILaXiqzGt9o6k6vxYLZL 0YCCf5+cdRpGm6uGcHA== 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-09_03,2026-03-06_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 phishscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2603090090 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