[PATCH v6 00/19] CoreSight: Refactor power management for CoreSight path
Yeoreum Yun
yeoreum.yun at arm.com
Fri Mar 6 01:53:46 PST 2026
On Thu, Mar 05, 2026 at 10:17:31AM +0000, Leo Yan wrote:
> This series focuses on CoreSight path power management. The changes can
> be divided into four parts for review:
>
> Patches 01~06: Refactor the CPU idle flow with moving common code into
> the CoreSight core layer.
> Patches 07~14: Add link control during CPU idle.
> Patches 15~16: Support the sink (TRBE) control during CPU idle.
> Patches 17~19: Move the CPU hotplug flow into the coresight core layer
> and simplify the code.
>
> This series is rebased on the coresight-next branch and has been verified
> on Juno-r2 and FVP RevC.
>
> ---
> Changes in v6:
> - Rebase on the latest coresight-next branch.
> - Always save and restore TRBE context during idle (Will).
> - Use get_cpu() / put_cpu() when set the per CPU source pointer.
> - Link to v5: https://lore.kernel.org/r/20251119-arm_coresight_path_power_management_improvement-v5-0-f615a301ad0b@arm.com
>
> Changes in v5:
> - Set the per-CPU source pointer on target CPU (Suzuki).
> - Reused existed enable/disable buffer functions in TRBE callbacks
> (James).
> - Refactored refcount for source devices in SysFS mode.
> - Released path in cpu-hotplug off flow to avoid memory leak.
> - Updated ETMv3 driver when move common code into core layer.
> - Rebased on the latest coresight-next branch.
> - Link to v4: https://lore.kernel.org/r/20251104-arm_coresight_path_power_management_improvement-v4-0-3d4bba674709@arm.com
>
> Changes in v4:
> - Changed to store path pointer in coresight_device, this is easier for
> fetching path pointer based on source device (Mike).
> - Dropped changes in CTI driver.
> - Only disabled path for CPU hot-plugged off but not enable path for
> hot-plugged in.
> - Removed James' test tags for modified patches.
> - Link to v3: https://lore.kernel.org/r/20250915-arm_coresight_power_management_fix-v3-0-ea49e91124ec@arm.com
>
> Signed-off-by: Leo Yan <leo.yan at arm.com>
>
> ---
> Leo Yan (18):
> coresight: sysfs: Validate CPU online status for per-CPU sources
> coresight: Set per-CPU source pointer
> coresight: Register CPU PM notifier in core layer
> coresight: etm4x: Hook CPU PM callbacks
> coresight: Add callback to determine if PM is needed
> coresight: etm4x: Remove redundant condition checks in save and restore
> coresight: syscfg: Use spinlock to protect active variables
> coresight: Introduce coresight_enable_source() helper
> coresight: Save active path for system tracers
> coresight: etm4x: Set active path on target CPU
> coresight: etm3x: Set active path on target CPU
> coresight: sysfs: Use source's path pointer for path control
> coresight: Add 'in_idle' argument to path
> coresight: Control path during CPU idle
> coresight: Add PM callbacks for sink device
> coresight: sysfs: Increment refcount only for system tracers
> coresight: Take hotplug lock in enable_source_store() for Sysfs mode
> coresight: Move CPU hotplug callbacks to core layer
>
> Yabin Cui (1):
> coresight: trbe: Save and restore state across CPU low power state
>
> drivers/hwtracing/coresight/coresight-catu.c | 1 +
> drivers/hwtracing/coresight/coresight-core.c | 273 ++++++++++++++++++++-
> drivers/hwtracing/coresight/coresight-ctcu-core.c | 1 +
> drivers/hwtracing/coresight/coresight-cti-core.c | 1 +
> drivers/hwtracing/coresight/coresight-dummy.c | 1 +
> drivers/hwtracing/coresight/coresight-etb10.c | 1 +
> drivers/hwtracing/coresight/coresight-etm-perf.c | 2 +-
> drivers/hwtracing/coresight/coresight-etm3x-core.c | 65 ++---
> drivers/hwtracing/coresight/coresight-etm4x-core.c | 153 +++---------
> drivers/hwtracing/coresight/coresight-funnel.c | 1 +
> drivers/hwtracing/coresight/coresight-priv.h | 3 +
> drivers/hwtracing/coresight/coresight-replicator.c | 1 +
> drivers/hwtracing/coresight/coresight-stm.c | 1 +
> drivers/hwtracing/coresight/coresight-syscfg.c | 22 +-
> drivers/hwtracing/coresight/coresight-syscfg.h | 2 +
> drivers/hwtracing/coresight/coresight-sysfs.c | 126 +++-------
> drivers/hwtracing/coresight/coresight-tmc-core.c | 1 +
> drivers/hwtracing/coresight/coresight-tnoc.c | 2 +
> drivers/hwtracing/coresight/coresight-tpda.c | 1 +
> drivers/hwtracing/coresight/coresight-tpdm.c | 1 +
> drivers/hwtracing/coresight/coresight-tpiu.c | 1 +
> drivers/hwtracing/coresight/coresight-trbe.c | 60 ++++-
> drivers/hwtracing/coresight/ultrasoc-smb.c | 1 +
> include/linux/coresight.h | 11 +
> 24 files changed, 458 insertions(+), 274 deletions(-)
> ---
> base-commit: 9c5ef7a30d9044f8706bd02bfdc4eff7266f3e25
> change-id: 20251104-arm_coresight_path_power_management_improvement-dab4966f8280
>
> Best regards,
> --
> Leo Yan <leo.yan at arm.com>
>
All patches look good to me. Feel free to add:
Reviewed-by: Yeoreum Yun <yeoreum.yun at arm.com>
--
Sincerely,
Yeoreum Yun
More information about the linux-arm-kernel
mailing list