From: Jie Gan <jie.gan@oss.qualcomm.com>
To: Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>,
James Clark <james.clark@linaro.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Tingwei Zhang <tingwei.zhang@oss.qualcomm.com>
Cc: coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org,
Tao Zhang <tao.zhang@oss.qualcomm.com>
Subject: Re: [PATCH v5 2/3] coresight: tpda: add logic to configure TPDA_SYNCR register
Date: Fri, 19 Dec 2025 20:31:21 +0800 [thread overview]
Message-ID: <fb8084b1-858d-4942-9580-9a5f3016b7c0@oss.qualcomm.com> (raw)
In-Reply-To: <38dc6948-6233-4b0a-a769-538939abe345@arm.com>
On 12/19/2025 6:24 PM, Suzuki K Poulose wrote:
> On 19/12/2025 10:04, Jie Gan wrote:
>> From: Tao Zhang <tao.zhang@oss.qualcomm.com>
>>
>> The TPDA_SYNC counter tracks the number of bytes transferred from the
>> aggregator. When this count reaches the value programmed in the
>> TPDA_SYNCR register, an ASYNC request is triggered, allowing userspace
>> tools to accurately parse each valid packet.
>>
>> Signed-off-by: Tao Zhang <tao.zhang@oss.qualcomm.com>
>> Reviewed-by: James Clark <james.clark@linaro.org>
>> Co-developed-by: Jie Gan <jie.gan@oss.qualcomm.com>
>> Signed-off-by: Jie Gan <jie.gan@oss.qualcomm.com>
>> ---
>> drivers/hwtracing/coresight/coresight-tpda.c | 7 +++++++
>> drivers/hwtracing/coresight/coresight-tpda.h | 5 +++++
>> 2 files changed, 12 insertions(+)
>>
>> diff --git a/drivers/hwtracing/coresight/coresight-tpda.c b/drivers/
>> hwtracing/coresight/coresight-tpda.c
>> index d25a8bcfb3d4..d378ff8ad77d 100644
>> --- a/drivers/hwtracing/coresight/coresight-tpda.c
>> +++ b/drivers/hwtracing/coresight/coresight-tpda.c
>> @@ -163,6 +163,13 @@ static void tpda_enable_pre_port(struct
>> tpda_drvdata *drvdata)
>> */
>> if (drvdata->trig_flag_ts)
>> writel_relaxed(0x0, drvdata->base + TPDA_FPID_CR);
>> +
>> + val = readl_relaxed(drvdata->base + TPDA_SYNCR);
>> + /* Reset the mode ctrl */
>> + val &= ~TPDA_SYNCR_MODE_CTRL;
>> + /* Program the counter value for TPDA_SYNCR */
>> + val |= TPDA_SYNCR_COUNTER_MASK;
>
> Do we plan to change this value via sysfs ? If not whats the point of
> clearing the field. Why not simply set it (as it is all 1s anyways).
We configure the value only once during enablement and do not intend to
modify it through sysfs. The mode_ctrl is reset to reinitialize the counter.
For example, if the TPDA device has been enabled and then disabled, the
counter may have already counted some packets. This could result in an
async packet being triggered with an unexpected data size.
>
>> + writel_relaxed(val, drvdata->base + TPDA_SYNCR);
>> }
>> static int tpda_enable_port(struct tpda_drvdata *drvdata, int port)
>> diff --git a/drivers/hwtracing/coresight/coresight-tpda.h b/drivers/
>> hwtracing/coresight/coresight-tpda.h
>> index 8a075cfbc3cc..97e2729c15c9 100644
>> --- a/drivers/hwtracing/coresight/coresight-tpda.h
>> +++ b/drivers/hwtracing/coresight/coresight-tpda.h
>> @@ -9,6 +9,7 @@
>> #define TPDA_CR (0x000)
>> #define TPDA_Pn_CR(n) (0x004 + (n * 4))
>> #define TPDA_FPID_CR (0x084)
>> +#define TPDA_SYNCR (0x08C)
>> /* Cross trigger Global (all ports) flush request bit */
>> #define TPDA_CR_FLREQ BIT(0)
>> @@ -38,6 +39,10 @@
>> #define TPDA_Pn_CR_CMBSIZE GENMASK(7, 6)
>> /* Aggregator port DSB data set element size bit */
>> #define TPDA_Pn_CR_DSBSIZE BIT(8)
>
> Newline to separate the defintions of different registers, please.
will fix it.
Thanks,
Jie
>
>> +/* TPDA_SYNCR mode control bit */
>> +#define TPDA_SYNCR_MODE_CTRL BIT(12)
>> +/* TPDA_SYNCR counter mask */
>> +#define TPDA_SYNCR_COUNTER_MASK GENMASK(11, 0)
>> #define TPDA_MAX_INPORTS 32
>
> Suzuki
>
>
>>
>
next prev parent reply other threads:[~2025-12-19 12:31 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-19 10:04 [PATCH v5 0/3] add sysfs nodes to configure TPDA's registers Jie Gan
2025-12-19 10:04 ` [PATCH v5 1/3] coresight: tpda: add sysfs nodes for tpda cross-trigger configuration Jie Gan
2025-12-19 10:22 ` Suzuki K Poulose
2025-12-19 12:19 ` Jie Gan
2025-12-19 10:04 ` [PATCH v5 2/3] coresight: tpda: add logic to configure TPDA_SYNCR register Jie Gan
2025-12-19 10:24 ` Suzuki K Poulose
2025-12-19 12:31 ` Jie Gan [this message]
2025-12-19 13:00 ` Jie Gan
2025-12-19 10:04 ` [PATCH v5 3/3] coresight: tpda: add sysfs node to flush specific port Jie Gan
2025-12-19 10:33 ` Suzuki K Poulose
2025-12-19 12:32 ` Jie Gan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fb8084b1-858d-4942-9580-9a5f3016b7c0@oss.qualcomm.com \
--to=jie.gan@oss.qualcomm.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=coresight@lists.linaro.org \
--cc=james.clark@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mike.leach@linaro.org \
--cc=suzuki.poulose@arm.com \
--cc=tao.zhang@oss.qualcomm.com \
--cc=tingwei.zhang@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®