public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v6 00/19] CoreSight: Refactor power management for CoreSight path
@ 2026-03-05 10:17 Leo Yan
  2026-03-05 10:17 ` [PATCH v6 01/19] coresight: sysfs: Validate CPU online status for per-CPU sources Leo Yan
                   ` (20 more replies)
  0 siblings, 21 replies; 36+ messages in thread
From: Leo Yan @ 2026-03-05 10:17 UTC (permalink / raw)
  To: Suzuki K Poulose, Mike Leach, James Clark, Yeoreum Yun,
	Mark Rutland, Will Deacon, Yabin Cui, Keita Morisaki,
	Yuanfang Zhang, Greg Kroah-Hartman, Alexander Shishkin
  Cc: coresight, linux-arm-kernel, Leo Yan, Mike Leach

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@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@arm.com>



^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2026-03-17 11:22 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05 10:17 [PATCH v6 00/19] CoreSight: Refactor power management for CoreSight path Leo Yan
2026-03-05 10:17 ` [PATCH v6 01/19] coresight: sysfs: Validate CPU online status for per-CPU sources Leo Yan
2026-03-13 11:03   ` Suzuki K Poulose
2026-03-16 14:02     ` Leo Yan
2026-03-16 14:28       ` Suzuki K Poulose
2026-03-16 14:40         ` Leo Yan
2026-03-05 10:17 ` [PATCH v6 02/19] coresight: Set per-CPU source pointer Leo Yan
2026-03-13 11:18   ` Suzuki K Poulose
2026-03-16 14:38     ` Leo Yan
2026-03-16 17:49       ` Suzuki K Poulose
2026-03-16 19:30         ` Leo Yan
2026-03-13 11:22   ` Suzuki K Poulose
2026-03-16 17:41     ` Leo Yan
2026-03-05 10:17 ` [PATCH v6 03/19] coresight: Register CPU PM notifier in core layer Leo Yan
2026-03-05 10:17 ` [PATCH v6 04/19] coresight: etm4x: Hook CPU PM callbacks Leo Yan
2026-03-05 10:17 ` [PATCH v6 05/19] coresight: Add callback to determine if PM is needed Leo Yan
2026-03-13 11:26   ` Suzuki K Poulose
2026-03-17 11:22     ` Leo Yan
2026-03-05 10:17 ` [PATCH v6 06/19] coresight: etm4x: Remove redundant condition checks in save and restore Leo Yan
2026-03-05 10:17 ` [PATCH v6 07/19] coresight: syscfg: Use spinlock to protect active variables Leo Yan
2026-03-05 10:17 ` [PATCH v6 08/19] coresight: Introduce coresight_enable_source() helper Leo Yan
2026-03-13 11:31   ` Suzuki K Poulose
2026-03-05 10:17 ` [PATCH v6 09/19] coresight: Save active path for system tracers Leo Yan
2026-03-05 10:17 ` [PATCH v6 10/19] coresight: etm4x: Set active path on target CPU Leo Yan
2026-03-05 10:17 ` [PATCH v6 11/19] coresight: etm3x: " Leo Yan
2026-03-05 10:17 ` [PATCH v6 12/19] coresight: sysfs: Use source's path pointer for path control Leo Yan
2026-03-05 10:17 ` [PATCH v6 13/19] coresight: Add 'in_idle' argument to path Leo Yan
2026-03-13 14:37   ` Suzuki K Poulose
2026-03-05 10:17 ` [PATCH v6 14/19] coresight: Control path during CPU idle Leo Yan
2026-03-05 10:17 ` [PATCH v6 15/19] coresight: Add PM callbacks for sink device Leo Yan
2026-03-05 10:17 ` [PATCH v6 16/19] coresight: trbe: Save and restore state across CPU low power state Leo Yan
2026-03-05 10:17 ` [PATCH v6 17/19] coresight: sysfs: Increment refcount only for system tracers Leo Yan
2026-03-05 10:17 ` [PATCH v6 18/19] coresight: Take hotplug lock in enable_source_store() for Sysfs mode Leo Yan
2026-03-05 10:17 ` [PATCH v6 19/19] coresight: Move CPU hotplug callbacks to core layer Leo Yan
2026-03-06  9:53 ` [PATCH v6 00/19] CoreSight: Refactor power management for CoreSight path Yeoreum Yun
2026-03-16 16:08 ` James Clark

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox