public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH 0/8] coresight: cti: Miscellaneous fixes and CPU PM cleanup
@ 2026-02-09 18:01 Leo Yan
  2026-02-09 18:01 ` [PATCH 1/8] coresight: cti: Make spinlock usage consistent Leo Yan
                   ` (7 more replies)
  0 siblings, 8 replies; 20+ messages in thread
From: Leo Yan @ 2026-02-09 18:01 UTC (permalink / raw)
  To: Suzuki K Poulose, Mike Leach, James Clark, Alexander Shishkin,
	Greg Kroah-Hartman, Mathieu Poirier, Tingwei Zhang, Yingchao Deng,
	Jie Gan
  Cc: coresight, linux-arm-kernel, linux-kernel, Leo Yan

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.

Based on review of the Arm ARM, ASICCTL is the only CTI register that
could potentially reside in the CPU power domain.  However, this is
considered highly unlikely for the following reasons:

 - Standard Arm CTIs place the ASICCTL register in the debug power
   domain;
 - ASICCTL is implemented only when CTIDEVID.EXTMUXNUM is non-zero,
   which is rare for CPU CTIs.

As a result, it is safe to remove the CPU PM code as done in this
series.  In addition, avoiding support local CPU access (via SMP calls)
to ASICCTL significantly reduces driver complexity.

If a future hardware implements ASICCTL in the CPU power domain, we can
consider adding a property to describe that characteristic.  That said,
from a software point of view, keeping all CTI registers in the same
power domain is preferable, as it makes the driver implementation much
simpler.

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 r1 and 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>
---
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: Refactor cti_reg32_{show|store}()

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

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



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

end of thread, other threads:[~2026-02-25 16:02 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-09 18:01 [PATCH 0/8] coresight: cti: Miscellaneous fixes and CPU PM cleanup Leo Yan
2026-02-09 18:01 ` [PATCH 1/8] coresight: cti: Make spinlock usage consistent Leo Yan
2026-02-19 16:58   ` Mike Leach
2026-02-09 18:01 ` [PATCH 2/8] coresight: cti: Fix register reads Leo Yan
2026-02-20  8:10   ` Mike Leach
2026-02-09 18:01 ` [PATCH 3/8] coresight: cti: Access ASICCTL only when implemented Leo Yan
2026-02-20  8:16   ` Mike Leach
2026-02-09 18:01 ` [PATCH 4/8] coresight: cti: Remove CPU power management code Leo Yan
2026-02-20 13:19   ` Mike Leach
2026-02-09 18:01 ` [PATCH 5/8] coresight: cti: Rename cti_active() to cti_is_active() Leo Yan
2026-02-20 13:47   ` Mike Leach
2026-02-09 18:01 ` [PATCH 6/8] coresight: cti: Remove hw_powered flag Leo Yan
2026-02-20 14:25   ` Mike Leach
2026-02-09 18:01 ` [PATCH 7/8] coresight: cti: Remove hw_enabled flag Leo Yan
2026-02-20 14:31   ` Mike Leach
2026-02-25 16:02     ` Leo Yan
2026-02-09 18:01 ` [PATCH 8/8] coresight: cti: Refactor cti_reg32_{show|store}() Leo Yan
2026-02-20 14:44   ` Mike Leach
2026-02-20 17:35     ` Leo Yan
2026-02-25 13:48       ` Mike Leach

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