[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