From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Mike Leach <mike.leach@linaro.org>
Cc: devicetree@vger.kernel.org, lorenzo.pieralisi@arm.com,
suzuki.poulose@arm.com, linux-arm-msm@vger.kernel.org,
coresight@lists.linaro.org, linux-doc@vger.kernel.org,
liviu.dudau@arm.com, agross@kernel.org, robh+dt@kernel.org,
maxime@cerno.tech, sudeep.holla@arm.com, corbet@lwn.net,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v10 00/15] CoreSight CTI Driver
Date: Wed, 26 Feb 2020 13:58:51 -0700 [thread overview]
Message-ID: <20200226205851.GA30754@xps15> (raw)
In-Reply-To: <20200225234611.11067-1-mike.leach@linaro.org>
Hi Mike,
On Tue, Feb 25, 2020 at 11:45:56PM +0000, Mike Leach wrote:
> CTIs are defined in the device tree and associated with other CoreSight
> devices. The core CoreSight code has been modified to enable the registration
> of the CTI devices on the same bus as the other CoreSight components,
> but as these are not actually trace generation / capture devices, they
> are not part of the Coresight path when generating trace.
>
> However, the definition of the standard CoreSight device has been extended
> to include a reference to an associated CTI device, and the enable / disable
> trace path operations will auto enable/disable any associated CTI devices at
> the same time.
>
> Programming is at present via sysfs - a full API is provided to utilise the
> hardware capabilities. As CTI devices are unprogrammed by default, the auto
> enable describe above will have no effect until explicit programming takes
> place.
>
> A set of device tree bindings specific to the CTI topology has been defined.
> The driver accesses these in a platform agnostic manner, so ACPI bindings
> can be added later, once they have been agreed and defined for the CTI device.
>
> Documentation has been updated to describe both the CTI hardware, its use and
> programming in sysfs, and the new dts bindings required.
I have applied this set to my next branch.
Thanks,
Mathieu
>
> Tested on DB410 board and Juno board, against the Linux 5.6-rc3 tree.
>
> Changes since v9:
> 1) Removed 2 unneeded devm_kstrdup calls, fixed error check on another.
> 2) Fixed variable array declaration from [0] to [].
>
> Changes since v8:
> 1) Use devm_ allocation in cti_match_fixup_csdev() to match other allocations.
> 2) Minor comment update per request.
>
> Changes since v7:
> NB: No functional driver changes in this set. Full set released for
> consistency, completeness and ease of use.
> 1) Updates to device tree bindings .yaml following comments from Rob Herring.
> Adds #size-cells and #address-cells to properties and constrained as
> required. Validated using dt_binding_check.
> 2) Minor typo fixes to cti documentation file.
>
> Changes since v6:
> NB: No functional driver changes in this set. Full set released for
> consistency, completeness and ease of use.
> 1) Updates to .yaml following comments from Maxime Ripard. Correct child node
> descriptions, fix validation, and ensure reg entries required in child
> nodes as per DeviceTree specification.
> 2) Update to Juno bindings to implement reg entry specification requirements.
>
> Changes since v5:
> 1) Fixed up device tree .yaml file. Using extra compatible string for
> v8 architecture CTI connections.
> 2) Ensure association code respects coresight mutex when setting cross
> referenced pointers. Add in shutdown code.
> 3) Multiple minor code fixes & rationalisation.
>
> Changes since v4:
> Multiple changes following feedback from Mathieu, Leo and Suzuki.
> 1) Dropped RFC tag - wider distribution
> 2) CTI bindings definition now presented as a .yaml file - tested with
> with 'dt-doc-validate' from devicetree.org/dt-schema project and in kernel
> build tree with 'make dtbs_check' per kernel docs.
> 3) Sysfs links to other CoreSight devices moved out of this set into
> a following set that deals with all CoreSight devices & sysfs links.
> 4) Documentation in .rst format and new directory following patchset in [1].
> Extended example provided in docs.
> 5) Rationalised devicetree of_ specifics to use generic fwnode functions
> where possible to enable easier addition of ACPI support later.
> 6) Other minor changes as requested in feedback from last patchset.
>
> Changes since v3:
> 1) After discussion on CS mailing list, each CTI connection has a triggers<N>
> sysfs directory with name and trigger signals listed for the connection.
> 2) Initial code for creating sysfs links between CoreSight components is
> introduced and implementation for CTI provided. This allows exploration
> of the CoreSight topology within the sysfs infrastructure. Patches for
> links between other CoreSight components to follow.
> 3) Power management - CPU hotplug and idle omitted from this set as ongoing
> developments may define required direction. Additional patch set to follow.
> 4) Multiple fixes applied as requested by reviewers esp. Matthieu, Suzuki
> and Leo.
>
> Changes since v2:
> Updates to allow for new features on coresight/next and feedback from
> Mathieu and Leo.
>
> 1) Rebase and restructuring to apply on top of ACPI support patch set,
> currently on coresight/next. of_coresight_cti has been renamed to
> coresight-cti-platform and device tree bindings added to this but accessed
> in a platform agnostic manner using fwnode for later ACPI support
> to be added.
> 2) Split the sysfs patch info a series of functional patches.
> 3) Revised the refcount and enabling support.
> 4) Adopted the generic naming protocol - CTIs are either cti_cpuN or
> cti_sysM
> 5) Various minor presentation /checkpatch issues highlighted in feedback.
> 6) revised CPU hotplug to cover missing cases needed by ETM.
>
> Changes since v1:
> 1) Significant restructuring of the source code. Adds cti-sysfs file and
> cti device tree file. Patches add per feature rather than per source
> file.
> 2) CPU type power event handling for hotplug moved to CoreSight core,
> with generic registration interface provided for all CPU bound CS devices
> to use.
> 3) CTI signal interconnection details in sysfs now generated dynamically
> from connection lists in driver. This to fix issue with multi-line sysfs
> output in previous version.
> 4) Full device tree bindings for DB410 and Juno provided (to the extent
> that CTI information is available).
> 5) AMBA driver update for UCI IDs are now upstream so no longer included
> in this set
>
> Mike Leach (15):
> coresight: cti: Initial CoreSight CTI Driver
> coresight: cti: Add sysfs coresight mgmt reg access
> coresight: cti: Add sysfs access to program function regs
> coresight: cti: Add sysfs trigger / channel programming API
> dt-bindings: arm: Adds CoreSight CTI hardware definitions
> coresight: cti: Add device tree support for v8 arch CTI
> coresight: cti: Add device tree support for custom CTI
> coresight: cti: Enable CTI associated with devices
> coresight: cti: Add connection information to sysfs
> dt-bindings: qcom: Add CTI options for qcom msm8916
> dt-bindings: arm: Juno platform - add CTI entries to device tree
> dt-bindings: hisilicon: Add CTI bindings for hi-6220
> docs: coresight: Update documentation for CoreSight to cover CTI
> docs: sysfs: coresight: Add sysfs ABI documentation for CTI
> Update MAINTAINERS to add reviewer for CoreSight
>
> .../testing/sysfs-bus-coresight-devices-cti | 221 ++++
> .../bindings/arm/coresight-cti.yaml | 336 +++++
> .../devicetree/bindings/arm/coresight.txt | 7 +
> .../trace/coresight/coresight-ect.rst | 211 +++
> Documentation/trace/coresight/coresight.rst | 13 +
> MAINTAINERS | 3 +
> arch/arm64/boot/dts/arm/juno-base.dtsi | 162 ++-
> arch/arm64/boot/dts/arm/juno-cs-r1r2.dtsi | 37 +-
> arch/arm64/boot/dts/arm/juno-r1.dts | 25 +
> arch/arm64/boot/dts/arm/juno-r2.dts | 25 +
> arch/arm64/boot/dts/arm/juno.dts | 25 +
> .../boot/dts/hisilicon/hi6220-coresight.dtsi | 130 +-
> arch/arm64/boot/dts/qcom/msm8916.dtsi | 85 +-
> drivers/hwtracing/coresight/Kconfig | 21 +
> drivers/hwtracing/coresight/Makefile | 3 +
> .../coresight/coresight-cti-platform.c | 485 +++++++
> .../hwtracing/coresight/coresight-cti-sysfs.c | 1175 +++++++++++++++++
> drivers/hwtracing/coresight/coresight-cti.c | 745 +++++++++++
> drivers/hwtracing/coresight/coresight-cti.h | 235 ++++
> .../hwtracing/coresight/coresight-platform.c | 20 +
> drivers/hwtracing/coresight/coresight-priv.h | 15 +
> drivers/hwtracing/coresight/coresight.c | 86 +-
> include/dt-bindings/arm/coresight-cti-dt.h | 37 +
> include/linux/coresight.h | 27 +
> 24 files changed, 4098 insertions(+), 31 deletions(-)
> create mode 100644 Documentation/ABI/testing/sysfs-bus-coresight-devices-cti
> create mode 100644 Documentation/devicetree/bindings/arm/coresight-cti.yaml
> create mode 100644 Documentation/trace/coresight/coresight-ect.rst
> create mode 100644 drivers/hwtracing/coresight/coresight-cti-platform.c
> create mode 100644 drivers/hwtracing/coresight/coresight-cti-sysfs.c
> create mode 100644 drivers/hwtracing/coresight/coresight-cti.c
> create mode 100644 drivers/hwtracing/coresight/coresight-cti.h
> create mode 100644 include/dt-bindings/arm/coresight-cti-dt.h
>
> --
> 2.17.1
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
prev parent reply other threads:[~2020-02-26 20:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-25 23:45 [PATCH v10 00/15] CoreSight CTI Driver Mike Leach
2020-02-25 23:45 ` [PATCH v10 01/15] coresight: cti: Initial " Mike Leach
2020-02-25 23:45 ` [PATCH v10 02/15] coresight: cti: Add sysfs coresight mgmt reg access Mike Leach
2020-02-25 23:45 ` [PATCH v10 03/15] coresight: cti: Add sysfs access to program function regs Mike Leach
2020-02-25 23:46 ` [PATCH v10 04/15] coresight: cti: Add sysfs trigger / channel programming API Mike Leach
2020-02-25 23:46 ` [PATCH v10 05/15] dt-bindings: arm: Adds CoreSight CTI hardware definitions Mike Leach
2020-02-25 23:46 ` [PATCH v10 06/15] coresight: cti: Add device tree support for v8 arch CTI Mike Leach
2020-02-25 23:46 ` [PATCH v10 07/15] coresight: cti: Add device tree support for custom CTI Mike Leach
2020-02-25 23:46 ` [PATCH v10 08/15] coresight: cti: Enable CTI associated with devices Mike Leach
2020-02-25 23:46 ` [PATCH v10 09/15] coresight: cti: Add connection information to sysfs Mike Leach
2020-02-25 23:46 ` [PATCH v10 10/15] dt-bindings: qcom: Add CTI options for qcom msm8916 Mike Leach
2020-02-25 23:46 ` [PATCH v10 11/15] dt-bindings: arm: Juno platform - add CTI entries to device tree Mike Leach
2020-02-27 17:05 ` Mathieu Poirier
2020-02-25 23:46 ` [PATCH v10 12/15] dt-bindings: hisilicon: Add CTI bindings for hi-6220 Mike Leach
2020-02-25 23:46 ` [PATCH v10 13/15] docs: coresight: Update documentation for CoreSight to cover CTI Mike Leach
2020-02-25 23:46 ` [PATCH v10 14/15] docs: sysfs: coresight: Add sysfs ABI documentation for CTI Mike Leach
2020-02-25 23:46 ` [PATCH v10 15/15] Update MAINTAINERS to add reviewer for CoreSight Mike Leach
2020-02-26 20:58 ` Mathieu Poirier [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200226205851.GA30754@xps15 \
--to=mathieu.poirier@linaro.org \
--cc=agross@kernel.org \
--cc=corbet@lwn.net \
--cc=coresight@lists.linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=liviu.dudau@arm.com \
--cc=lorenzo.pieralisi@arm.com \
--cc=maxime@cerno.tech \
--cc=mike.leach@linaro.org \
--cc=robh+dt@kernel.org \
--cc=sudeep.holla@arm.com \
--cc=suzuki.poulose@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).