]> git.ipfire.org Git - thirdparty/linux.git/commit
coresight: perf: Support AUX trace pause and resume
authorLeo Yan <leo.yan@arm.com>
Tue, 1 Apr 2025 18:07:05 +0000 (19:07 +0100)
committerSuzuki K Poulose <suzuki.poulose@arm.com>
Wed, 14 May 2025 10:56:17 +0000 (11:56 +0100)
commitabffe22e93d7a25b69a8884fda6a50ed81d7ae06
treec8e96a7d6758f958e13c9de34518d1daca37714e
parent0814151bae4b50d49514666b5f06920ce3eb829b
coresight: perf: Support AUX trace pause and resume

This commit supports AUX trace pause and resume in a perf session for
Arm CoreSight.

First, we need to decide which flag can indicate the CoreSight PMU event
has started.  The 'event->hw.state' cannot be used for this purpose
because its initial value and the value after hardware trace enabling
are both 0.

On the other hand, the context value 'ctxt->event_data' stores the ETM
private info.  This pointer is valid only when the PMU event has been
enabled. It is safe to permit AUX trace pause and resume operations only
when it is not a NULL pointer.

To achieve fine-grained control of the pause and resume, only the tracer
is disabled and enabled.  This avoids the unnecessary complexity and
latency caused by manipulating the entire link path.

Signed-off-by: Leo Yan <leo.yan@arm.com>
Reviewed-by: Mike Leach <mike.leach@linaro.org>
Reviewed-by: James Clark <james.clark@linaro.org>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Link: https://lore.kernel.org/r/20250401180708.385396-5-leo.yan@arm.com
drivers/hwtracing/coresight/coresight-etm-perf.c