[PATCH v2 0/8] coresight: cti: Miscellaneous fixes and CPU PM cleanup

Leo Yan posted 8 patches 1 month ago
drivers/hwtracing/coresight/coresight-cti-core.c  | 278 ++++------------------
drivers/hwtracing/coresight/coresight-cti-sysfs.c | 171 ++++++-------
drivers/hwtracing/coresight/coresight-cti.h       |  13 +-
3 files changed, 137 insertions(+), 325 deletions(-)
[PATCH v2 0/8] coresight: cti: Miscellaneous fixes and CPU PM cleanup
Posted by Leo Yan 1 month ago
The CPU power management issue in the CTI driver was first observed in
series [1]; this series resolves that issue.  It fixes bugs and removes
CPU PM operations from the CoreSight CTI driver, the goal is to use the
CoreSight core layer as the central place for CPU power management.
Removing CPU PM from CTI driver can avoid conflicts with the core layer.

This series can be divided into:

  Patches 01 ~ 02: Fix spinlock with irqsave and register read with CS
                   lock.
  Patches 03 ~ 08: Access ASICCTL condintioanlly, remove CPU PM code,
                   and refactor register access in sysfs knob.

This series is based on coresight-next branch and has been validated on
Juno r2 platforms, pass normal sysfs and perf test, as well as CPU PM
stress testing.

[1] https://lore.kernel.org/all/20250915-arm_coresight_power_management_fix-v3-0-ea49e91124ec@arm.com/

Signed-off-by: Leo Yan <leo.yan@arm.com>
---
Changes in v2:
- Rebased on coresight-next branch (v7.1).
- Kept read/write cache value in sysfs knob (Mike).
- Link to v1: https://lore.kernel.org/r/20260209-arm_coresight_cti_refactor_v1-v1-0-db71ab4d200b@arm.com

---
Leo Yan (8):
      coresight: cti: Make spinlock usage consistent
      coresight: cti: Fix register reads
      coresight: cti: Access ASICCTL only when implemented
      coresight: cti: Remove CPU power management code
      coresight: cti: Rename cti_active() to cti_is_active()
      coresight: cti: Remove hw_powered flag
      coresight: cti: Remove hw_enabled flag
      coresight: cti: Properly handle negative offsets in cti_reg32_{show|store}()

 drivers/hwtracing/coresight/coresight-cti-core.c  | 278 ++++------------------
 drivers/hwtracing/coresight/coresight-cti-sysfs.c | 171 ++++++-------
 drivers/hwtracing/coresight/coresight-cti.h       |  13 +-
 3 files changed, 137 insertions(+), 325 deletions(-)
---
base-commit: eef33a7cce239783d0422526a4d786289a936f1b
change-id: 20251223-arm_coresight_cti_refactor_v1-76e1bda8b716

Best regards,
-- 
Leo Yan <leo.yan@arm.com>
Re: [PATCH v2 0/8] coresight: cti: Miscellaneous fixes and CPU PM cleanup
Posted by Suzuki K Poulose 4 weeks, 1 day ago
On Thu, 26 Feb 2026 09:23:48 +0000, Leo Yan wrote:
> The CPU power management issue in the CTI driver was first observed in
> series [1]; this series resolves that issue.  It fixes bugs and removes
> CPU PM operations from the CoreSight CTI driver, the goal is to use the
> CoreSight core layer as the central place for CPU power management.
> Removing CPU PM from CTI driver can avoid conflicts with the core layer.
> 
> This series can be divided into:
> 
> [...]

Applied, thanks!

[1/8] coresight: cti: Make spinlock usage consistent
      https://git.kernel.org/coresight/c/ef7d4aaf6867
[2/8] coresight: cti: Fix register reads
      https://git.kernel.org/coresight/c/6582fe69ac4b
[3/8] coresight: cti: Access ASICCTL only when implemented
      https://git.kernel.org/coresight/c/b4d9ef475ec7
[4/8] coresight: cti: Remove CPU power management code
      https://git.kernel.org/coresight/c/59213b4be5c1
[5/8] coresight: cti: Rename cti_active() to cti_is_active()
      https://git.kernel.org/coresight/c/b727e7bba3ff
[6/8] coresight: cti: Remove hw_powered flag
      https://git.kernel.org/coresight/c/daedb30fd6ac
[7/8] coresight: cti: Remove hw_enabled flag
      https://git.kernel.org/coresight/c/d5e57babdffb
[8/8] coresight: cti: Properly handle negative offsets in cti_reg32_{show|store}()
      https://git.kernel.org/coresight/c/9c5ef7a30d90

Best regards,
-- 
Suzuki K Poulose <suzuki.poulose@arm.com>