The connections between CoreSight sources, links and sinks is not obvious without documentation or access to the device tree / ACPI definitions for the platform.
This patchset provides sysfs links to enable the user to follow the trace patch from source to sink.
Components in the trace path are updated to have a connections sysfs group, which collates all the links for that component.
The CTI components which exist aside from the main trace patch, also have an added connections directory showing connections to other CoreSight devices.
This patchset applies on top of the recent CTI v10 patchset [1].
Adaptation of an original patchset [2] from Suzuki, reusing 2 patches unchanged with update to 3rd adapt to the new common code for trace path and CTI component links & add a default connections group.
Tested on Juno r1, DB410c; kernel 5.6-rc3
[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2020-February/714140.h... [2] https://lists.linaro.org/pipermail/coresight/2019-May/002803.html
Changes since v4: 1) Rebased for v10 CTI set[1]. 2) Code for adding in the CTI->[other CoreSight] links revised to ensure consistent create / release process. Warn on highly unlikely event that link cannot be made & remove any programmatic association between the components.
Changes since v3: 1) Rebased onto 5.6-rc1 kernel with CTI set[1].
Changes since v2: 1) Fixed issues with signature ordering noted by Suzuki. 2) Alterations to main CTI set[1] to overcome issue noted by Matthieu.
Changes since v1: 1) Code from original v4 CTI set moved here so that all connections related code in this set. 2) Connections directory mandatory for all CoreSight components and generated as part of the registration process. Mike Leach (3): coresight: Add generic sysfs link creation functions coresight: cti: Add in sysfs links to other coresight devices coresight: docs: Add information about the topology representations
Suzuki K Poulose (3): coresight: Pass coresight_device for coresight_release_platform_data coresight: add return value for fixup connections coresight: Expose device connections via sysfs
.../trace/coresight/coresight-ect.rst | 5 +- Documentation/trace/coresight/coresight.rst | 85 ++++++++ drivers/hwtracing/coresight/Makefile | 3 +- drivers/hwtracing/coresight/coresight-cti.c | 52 ++++- .../hwtracing/coresight/coresight-platform.c | 2 +- drivers/hwtracing/coresight/coresight-priv.h | 12 +- drivers/hwtracing/coresight/coresight-sysfs.c | 204 ++++++++++++++++++ drivers/hwtracing/coresight/coresight.c | 75 ++++--- include/linux/coresight.h | 22 ++ 9 files changed, 428 insertions(+), 32 deletions(-) create mode 100644 drivers/hwtracing/coresight/coresight-sysfs.c