All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 00/20] CoreSight: Refactor power management for CoreSight path
@ 2026-03-20 17:42 Leo Yan
  2026-03-20 17:42 ` [PATCH v7 01/20] coresight: Populate CPU ID into coresight_device Leo Yan
                   ` (19 more replies)
  0 siblings, 20 replies; 26+ messages in thread
From: Leo Yan @ 2026-03-20 17:42 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~07: Refactor the CPU idle flow with moving common code into
                 the CoreSight core layer.
  Patches 08~15: Refactor path enabling and disabling with range, add
                 path control during CPU idle.
  Patches 16~17: Support the sink (TRBE) control during CPU idle.
  Patches 18~20: 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 (ETM + ETR) and FVP RevC (ETE + TRBE).

---
Changes in v7:
- Added a flag in coresight_desc to indicate CPU bound device (Suzuki).
- Used coresight_mutex to protect per-CPU source pointer (Suzuki).
- Added a spinlock for exclusive access per-CPU source pointer (Suzuki).
- Dropped .pm_is_needed() callback (Suzuki).
- Supported range in path enabling / disabling (Suzuki).
- Gathered test and review tags (Levi / James).
- Link to v6: https://lore.kernel.org/r/20260305-arm_coresight_path_power_management_improvement-v6-0-eff765d211a9@arm.com

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

Signed-off-by: Leo Yan <leo.yan@arm.com>

---
Leo Yan (19):
      coresight: Populate CPU ID into coresight_device
      coresight: Remove .cpu_id() callback from source ops
      coresight: sysfs: Validate CPU online status for per-CPU sources
      coresight: Move per-CPU source pointer to core layer
      coresight: Register CPU PM notifier in core layer
      coresight: etm4x: Hook CPU PM callbacks
      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: Control path with range
      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       |   2 +-
 drivers/hwtracing/coresight/coresight-core.c       | 377 +++++++++++++++++++--
 drivers/hwtracing/coresight/coresight-cti-core.c   |   9 +-
 drivers/hwtracing/coresight/coresight-etm-perf.c   |  25 +-
 drivers/hwtracing/coresight/coresight-etm3x-core.c |  73 +---
 drivers/hwtracing/coresight/coresight-etm4x-core.c | 154 ++-------
 drivers/hwtracing/coresight/coresight-priv.h       |   4 +
 drivers/hwtracing/coresight/coresight-syscfg.c     |  21 +-
 drivers/hwtracing/coresight/coresight-syscfg.h     |   2 +
 drivers/hwtracing/coresight/coresight-sysfs.c      | 126 +++----
 drivers/hwtracing/coresight/coresight-trbe.c       |  61 +++-
 include/linux/coresight.h                          |  15 +-
 12 files changed, 546 insertions(+), 323 deletions(-)
---
base-commit: a90863095f84f6d17c49716e4e2212d28a6b25b5
change-id: 20251104-arm_coresight_path_power_management_improvement-dab4966f8280

Best regards,
-- 
Leo Yan <leo.yan@arm.com>



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

end of thread, other threads:[~2026-03-24  7:48 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-20 17:42 [PATCH v7 00/20] CoreSight: Refactor power management for CoreSight path Leo Yan
2026-03-20 17:42 ` [PATCH v7 01/20] coresight: Populate CPU ID into coresight_device Leo Yan
2026-03-23  9:35   ` Suzuki K Poulose
2026-03-23  9:39   ` Suzuki K Poulose
2026-03-20 17:42 ` [PATCH v7 02/20] coresight: Remove .cpu_id() callback from source ops Leo Yan
2026-03-20 17:42 ` [PATCH v7 03/20] coresight: sysfs: Validate CPU online status for per-CPU sources Leo Yan
2026-03-20 17:42 ` [PATCH v7 04/20] coresight: Move per-CPU source pointer to core layer Leo Yan
2026-03-20 17:42 ` [PATCH v7 05/20] coresight: Register CPU PM notifier in " Leo Yan
2026-03-20 17:42 ` [PATCH v7 06/20] coresight: etm4x: Hook CPU PM callbacks Leo Yan
2026-03-20 17:42 ` [PATCH v7 07/20] coresight: etm4x: Remove redundant condition checks in save and restore Leo Yan
2026-03-20 17:42 ` [PATCH v7 08/20] coresight: syscfg: Use spinlock to protect active variables Leo Yan
2026-03-23  9:47   ` Suzuki K Poulose
2026-03-20 17:42 ` [PATCH v7 09/20] coresight: Introduce coresight_enable_source() helper Leo Yan
2026-03-20 17:42 ` [PATCH v7 10/20] coresight: Save active path for system tracers Leo Yan
2026-03-20 17:42 ` [PATCH v7 11/20] coresight: etm4x: Set active path on target CPU Leo Yan
2026-03-20 17:42 ` [PATCH v7 12/20] coresight: etm3x: " Leo Yan
2026-03-20 17:42 ` [PATCH v7 13/20] coresight: sysfs: Use source's path pointer for path control Leo Yan
2026-03-20 17:42 ` [PATCH v7 14/20] coresight: Control path with range Leo Yan
2026-03-23 10:01   ` Suzuki K Poulose
2026-03-24  7:48     ` Leo Yan
2026-03-20 17:42 ` [PATCH v7 15/20] coresight: Control path during CPU idle Leo Yan
2026-03-20 17:42 ` [PATCH v7 16/20] coresight: Add PM callbacks for sink device Leo Yan
2026-03-20 17:42 ` [PATCH v7 17/20] coresight: trbe: Save and restore state across CPU low power state Leo Yan
2026-03-20 17:43 ` [PATCH v7 18/20] coresight: sysfs: Increment refcount only for system tracers Leo Yan
2026-03-20 17:43 ` [PATCH v7 19/20] coresight: Take hotplug lock in enable_source_store() for Sysfs mode Leo Yan
2026-03-20 17:43 ` [PATCH v7 20/20] coresight: Move CPU hotplug callbacks to core layer Leo Yan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.