Since before there have no platforms use static funnel in mainline kernel (though maybe some in-house SoC has used it but didn't upstream for mainline kernel yet so we don't be aware for it), when enable CoreSight DT binding for hikey960, we found the SoC uses the static funnel in the link path and but it's not supported in CoreSight funnel driver.
So the first patch is to update DT documentation to support static funnel (we call it as non-configurable funnel in documentation); the second patch is to support the static funnel in the CoreSight funnel driver.
Credits to Suzuki shared code for CoreSight replicator refactoring, the static funnel related implementation heavily follows up the same fashion in Suzuki's replicator code.
This patch set has been rebased on CoreSight next branch [1] with latest commit d5d246a56af0 ("coresight: Merge the static and dynamic replicator drivers") and tested on Hikey960 with perf commands:
# perf record -e cs_etm/@20010000.etf/ --per-thread ./main # perf report --tui
P.s. in this version, Hikey960 CoreSight DT binding has not been included and will be sent out separately.
[1] https://git.linaro.org/kernel/coresight.git/log/?h=next
Leo Yan (2): dt-bindings: arm: coresight: Support static funnel coresight: funnel: Support static funnel
.../devicetree/bindings/arm/coresight.txt | 45 ++++++- .../hwtracing/coresight/coresight-funnel.c | 112 +++++++++++++----- 2 files changed, 127 insertions(+), 30 deletions(-)