From: Suzuki K Poulose <Suzuki.Poulose@arm.com>
To: Rob Herring <robh@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org, mathieu.poirier@linaro.org,
sudeep.holla@arm.com, mark.rutland@arm.com,
frowand.list@gmail.com, matt.sealey@arm.com,
charles.garcia-tobin@arm.com, john.horley@arm.com,
mike.leach@linaro.org, coresight@lists.linaro.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org
Subject: Re: [RFC PATCH 6/8] dts: coresight: Clean up the device tree graph bindings
Date: Wed, 13 Jun 2018 10:45:49 +0100 [thread overview]
Message-ID: <a1c0749b-9c97-b45f-716f-a62ae07af278@arm.com> (raw)
In-Reply-To: <20180612204802.GA15817@rob-hp-laptop>
Hi Rob,
On 12/06/18 21:48, Rob Herring wrote:
> On Fri, Jun 01, 2018 at 02:16:05PM +0100, Suzuki K Poulose wrote:
>> The coresight drivers relied on default bindings for graph
>> in DT, while reusing the "reg" field of the "ports" to indicate
>> the actual hardware port number for the connections. However,
>> with the rules getting stricter w.r.t to the address mismatch
>> with the label, it is no longer possible to use the port address
>> field for the hardware port number. Hence, we add an explicit
>> property to denote the hardware port number, "coresight,hwid"
>> which must be specified for each "endpoint".
>>
>> Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
>> Cc: Sudeep Holla <sudeep.holla@arm.com>
>> Cc: Rob Herring <robh@kernel.org>
>> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
>> ---
>> .../devicetree/bindings/arm/coresight.txt | 26 +++++++++---
>> drivers/hwtracing/coresight/of_coresight.c | 46 ++++++++++++++++------
>> 2 files changed, 54 insertions(+), 18 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/coresight.txt b/Documentation/devicetree/bindings/arm/coresight.txt
>> index bd36e40..385581a 100644
>> --- a/Documentation/devicetree/bindings/arm/coresight.txt
>> +++ b/Documentation/devicetree/bindings/arm/coresight.txt
>> @@ -104,7 +104,11 @@ properties to uniquely identify the connection details.
>> "slave-mode"
>>
>> * Hardware Port number at the component:
>> - - The hardware port number is assumed to be the address of the "port" component.
>> + - (Obsolete) The hardware port number is assumed to be the address of the "port" component.
>> + - Each "endpoint" must define the hardware port of the local end of the
>> + connection using the following property:
>> + "coresight,hwid" - 32bit integer, hardware port number at the local end.
>
> "coresight" is not a vendor and properties are in the form
> [<vendor>,]<prop-name>.
OK. The issue here is that a coresight component could be an Arm IP or
a custom partner IP. So, the vendor could be either arm or the partner id.
However, this property is kind of a generic one for the Coresight family,
which is why we opted for "coresight". What is the guideline for such
cases ?
Or in other words I see the following possible options :
1) coresight,hwid - coresight generic
2) arm,coresight-hwid - arm vendor, however the device could be from any vendor.
3) hwid - Generic
4) none of the above, something completely different.
What do you recommend from the above ?
>> +
>>
>>
>> Example:
>> @@ -120,6 +124,7 @@ Example:
>> etb_in_port: endpoint@0 {
>
> There shouldn't be a unit address here because there is no reg property.
>
>> slave-mode;
>> remote-endpoint = <&replicator_out_port0>;
>> + coresight,hwid = <0>;
>
> It doesn't make sense for these to be in the endpoint. If you had
> multiple endpoints, then you would have to duplicate it. "ports" are
> a single data stream. "endpoints" are connections to that stream. So if
> you have a muxed (input) or fanout/1-to-many (output) connection, then
> you have multiple endpoints.
We do have many-to-1 input (e.g, funnels) and 1-to-many outputs
(e.g replicators). However, we have (so far) used only one endpoint per
port.
Also we could potentially have multiple data streams flowing through
the ports, which gets filtered to different ports in 1-to-many components
(read programmable-replicator).
So the point is we have a shared path which carries different data
streams with mux/demux components. I am open for suggestions based on
the above facts.
>
> The same applied to the slave-mode property, but that ship has sailed.
> No reason to continue that though.
>
>> };
>> };
>> };
>> @@ -134,6 +139,7 @@ Example:
>> tpiu_in_port: endpoint@0 {
>> slave-mode;
>> remote-endpoint = <&replicator_out_port1>;
>> + coresight,hwid = <0>;
>> };
>> };
>> };
>> @@ -154,6 +160,7 @@ Example:
>> reg = <0>;
>> replicator_out_port0: endpoint {
>> remote-endpoint = <&etb_in_port>;
>> + coresight,hwid = <0>;
>> };
>> };
>>
>> @@ -161,15 +168,17 @@ Example:
>> reg = <1>;
>> replicator_out_port1: endpoint {
>> remote-endpoint = <&tpiu_in_port>;
>> + coresight,hwid = <1>;
>> };
>> };
>>
>> /* replicator input port */
>> port@2 {
>> - reg = <0>;
>> + reg = <1>;
>
> This will still get flagged as an error. reg must be 2 here.
Sorry, thats a mistake. I will fix it.
Cheers
Suzuki
next prev parent reply other threads:[~2018-06-13 9:45 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-01 13:15 [RFC PATCH 0/8] coresight: Update device tree bindings Suzuki K Poulose
2018-06-01 13:16 ` [RFC PATCH 1/8] dts: binding: coresight: Document graph bindings Suzuki K Poulose
2018-06-01 16:14 ` Mathieu Poirier
2018-06-01 13:16 ` [RFC PATCH 2/8] coresight: Fix remote endpoint parsing Suzuki K Poulose
2018-06-01 19:38 ` Mathieu Poirier
2018-06-01 19:46 ` Mathieu Poirier
2018-06-04 10:34 ` Suzuki K Poulose
2018-06-01 13:16 ` [RFC PATCH 3/8] coresight: Cleanup platform description data Suzuki K Poulose
2018-06-01 13:16 ` [RFC PATCH 4/8] coresight: platform: Cleanup coresight connection handling Suzuki K Poulose
2018-06-01 13:16 ` [RFC PATCH 5/8] coresight: Handle errors in finding input/output ports Suzuki K Poulose
2018-06-01 13:16 ` [RFC PATCH 6/8] dts: coresight: Clean up the device tree graph bindings Suzuki K Poulose
2018-06-01 20:26 ` Mathieu Poirier
2018-06-12 20:48 ` Rob Herring
2018-06-13 9:45 ` Suzuki K Poulose [this message]
2018-06-13 12:49 ` Matt Sealey
2018-06-13 13:35 ` Suzuki K Poulose
2018-06-13 13:57 ` Rob Herring
2018-06-13 15:47 ` Matt Sealey
2018-06-13 17:07 ` Suzuki K Poulose
2018-06-13 19:40 ` Mathieu Poirier
2018-06-13 21:07 ` Matt Sealey
2018-06-14 8:53 ` Suzuki K Poulose
2018-06-14 13:59 ` Rob Herring
2018-06-14 15:04 ` Matt Sealey
2018-06-15 9:58 ` Suzuki K Poulose
2018-07-03 9:44 ` Suzuki K Poulose
2018-07-03 16:15 ` Mathieu Poirier
2018-06-01 13:16 ` [RFC PATCH 7/8] dts: coresight: Define new bindings for direction of data flow Suzuki K Poulose
2018-06-01 20:39 ` Mathieu Poirier
2018-06-04 14:20 ` Suzuki K Poulose
2018-06-01 13:16 ` [RFC PATCH 8/8] dts: juno: Update coresight bindings for hw port Suzuki K Poulose
2018-06-01 20:59 ` Mathieu Poirier
2018-06-01 21:04 ` [RFC PATCH 0/8] coresight: Update device tree bindings Mathieu Poirier
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=a1c0749b-9c97-b45f-716f-a62ae07af278@arm.com \
--to=suzuki.poulose@arm.com \
--cc=charles.garcia-tobin@arm.com \
--cc=coresight@lists.linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=frowand.list@gmail.com \
--cc=john.horley@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.poirier@linaro.org \
--cc=matt.sealey@arm.com \
--cc=mike.leach@linaro.org \
--cc=robh@kernel.org \
--cc=sudeep.holla@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).