[PATCH v11 00/27] CoreSight: Refactor power management for CoreSight path
Leo Yan
leo.yan at arm.com
Wed May 6 02:38:23 PDT 2026
On Wed, May 06, 2026 at 03:33:38PM +0800, Jie Gan wrote:
[...]
> Tested on QCOM sa8775p-ride platform with sysfs mode:
Hi Jie, very appreciate for the testing!
> === 1. Prerequisites ===
> PASS: Running as root
> PASS: CoreSight bus present
> PASS: Sink: tmc_etr0
> Sink is TRBE: 0
> PASS: Source: etm0
> Source CPU: 0
> Online CPUs: 8
> All CoreSight devices:
> ctcu0
> cti_sys0
> etm0
> etm1
> etm2
> etm3
> etm4
> etm5
> etm6
> etm7
> funnel0
> funnel1
> funnel2
> funnel3
> funnel4
> funnel5
> funnel6
> funnel7
> replicator0
> replicator1
> replicator2
> stm0
> tmc_etf0
> tmc_etr0
> tmc_etr1
> tpdm0
> tpdm1
> tpdm10
> tpdm11
> tpdm2
> tpdm3
> tpdm4
> tpdm5
> tpdm6
> tpdm7
> tpdm8
> tpdm9
>
> === 2. Sysfs mode: basic enable/disable ===
> PASS: Sink tmc_etr0 enabled
> PASS: Source etm0 enabled
> PASS: Source etm0 disabled cleanly
> PASS: Sink tmc_etr0 disabled cleanly
>
> === 3. Sysfs mode: repeated enable/disable cycles (10x) ===
> PASS: 10 enable/disable cycles completed without error
>
> === 4. Sysfs: enable source with no active sink ===
> PASS: Enable without sink returned error (expected)
>
> === 5. Sysfs: enable/disable all online per-CPU sources ===
> etm0 (cpu0): enabled OK
> etm1 (cpu1): enabled OK
> etm2 (cpu2): enabled OK
> etm3 (cpu3): enabled OK
> etm4 (cpu4): enabled OK
> etm5 (cpu5): enabled OK
> etm6 (cpu6): enabled OK
> etm7 (cpu7): enabled OK
> PASS: All online per-CPU sources enabled/disabled successfully
>
> === 6. csdev->cpu sysfs attribute (Patch 3: CPU ID in coresight_device) ===
> etm0: cpu = 0 (OK)
> etm1: cpu = 1 (OK)
> etm2: cpu = 2 (OK)
> etm3: cpu = 3 (OK)
> etm4: cpu = 4 (OK)
> etm5: cpu = 5 (OK)
> etm6: cpu = 6 (OK)
> etm7: cpu = 7 (OK)
> PASS: All 8 per-CPU sources have valid 'cpu' attribute
>
> === 7. CPU online validation before path build (Patch 27) ===
> Offlining cpu1 (source: etm1)
> [ 146.339051] psci: CPU1 killed (polled 0 ms)
> PASS: P27: Enable on offline cpu1 rejected before path build
> (enable_source=0)
> [ 146.689573] Detected PIPT I-cache on CPU1
> [ 146.689635] GICv3: CPU1: found redistributor 100 region
> 0:0x0000000017a80000
> [ 146.689801] CPU1: Booted secondary processor 0x0000000100 [0x410fd4b2]
> cpu1 back online
>
> === 8. CPU hotplug: core layer disables full sysfs path on CPU offline
> (Patch 26) ===
> Starting sysfs trace on cpu1 (source: etm1)
> Offlining cpu1 while tracing active...
> [ 147.498731] psci: CPU1 killed (polled 0 ms)
> PASS: P26: Source auto-disabled by core coresight_dying_cpu() on CPU offline
> Sink state after hotplug: 1
> PASS: No kernel errors in dmesg during hotplug
> [ 148.365194] Detected PIPT I-cache on CPU1
> [ 148.365249] GICv3: CPU1: found redistributor 100 region
> 0:0x0000000017a80000
> [ 148.365393] CPU1: Booted secondary processor 0x0000000100 [0x410fd4b2]
> PASS: cpu1 re-onlined
>
> === 9. CPU hotplug: re-enable sysfs tracing after CPU re-online ===
> PASS: Tracing re-enabled on cpu1 after hotplug cycle
>
> === 10. CPU PM: path control during CPU idle (Patch 22) ===
> Sleeping 4s to allow CPU idle entry (source: etm0, cpu: 0)...
> Idle entries on cpu0 during test: 49
> PASS: P22: Source still enabled after idle — path save/restore working
>
> Thanks,
> Jie
More information about the linux-arm-kernel
mailing list