mbox series

[v5,0/6] Describe CoreSight topology using sysfs links

Message ID 20200227151416.14271-1-mike.leach@linaro.org (mailing list archive)
Headers show
Series Describe CoreSight topology using sysfs links | expand

Message

Mike Leach Feb. 27, 2020, 3:14 p.m. UTC
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.html
[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

Comments

Mathieu Poirier March 13, 2020, 7:56 p.m. UTC | #1
On Thu, 27 Feb 2020 at 08:14, Mike Leach <mike.leach@linaro.org> wrote:
>
> 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.html
> [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
>

I have applied this set.

Thanks,
Mathieu

> --
> 2.17.1
>