[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