diff mbox series

[v1,1/3] dt-bindings: arm: qcom,coresight-static-replicator: Add property for source filtering

Message ID 20240705085152.9063-2-quic_taozha@quicinc.com (mailing list archive)
State Superseded
Headers show
Series Add source filtering for multi-port output | expand

Commit Message

Tao Zhang July 5, 2024, 8:51 a.m. UTC
Add a new property "filter_src" to label the source corresponding
to the output connection for a static replicator. By combining
a funnel and a static replicator in devicetree, a new device that
supports multi-port input and multi-port output is implemented.
In order to match the output port with the input port and
successfully build the trace path, add this new property to
indicate the data source corresponding to this output port.

Signed-off-by: Tao Zhang <quic_taozha@quicinc.com>
---
 .../arm/arm,coresight-static-replicator.yaml   | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

Comments

Krzysztof Kozlowski July 5, 2024, 9:02 a.m. UTC | #1
On 05/07/2024 10:51, Tao Zhang wrote:
> Add a new property "filter_src" to label the source corresponding
> to the output connection for a static replicator. By combining
> a funnel and a static replicator in devicetree, a new device that
> supports multi-port input and multi-port output is implemented.
> In order to match the output port with the input port and
> successfully build the trace path, add this new property to
> indicate the data source corresponding to this output port.
> 
> Signed-off-by: Tao Zhang <quic_taozha@quicinc.com>
> ---
>  .../arm/arm,coresight-static-replicator.yaml   | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
> index 1892a091ac35..d9538563f9c6 100644
> --- a/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
> +++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
> @@ -45,7 +45,21 @@ properties:
>      patternProperties:
>        '^port@[01]$':
>          description: Output connections to CoreSight Trace bus
> -        $ref: /schemas/graph.yaml#/properties/port
> +        $ref: /schemas/graph.yaml#/$defs/port-base
> +
> +        properties:
> +          endpoint:
> +            $ref: /schemas/media/video-interfaces.yaml#

Ehm? How is this video interface?

> +
> +            properties:
> +              filter_src:

There are no properties with underscores...

> +                $ref: /schemas/types.yaml#/definitions/phandle
> +                description:
> +                  defines a phandle reference to an associated CoreSight trace device.
> +                  When the associated trace device is enabled, then the respective
> +                  trace path will be built and enabled.

How does it differ from remote endpoint? What is "respective trace path"?

<form letter>
Please use scripts/get_maintainers.pl to get a list of necessary people
and lists to CC (and consider --no-git-fallback argument). It might
happen, that command when run on an older kernel, gives you outdated
entries. Therefore please be sure you base your patches on recent Linux
kernel.

Tools like b4 or scripts/get_maintainer.pl provide you proper list of
people, so fix your workflow. Tools might also fail if you work on some
ancient tree (don't, instead use mainline) or work on fork of kernel
(don't, instead use mainline). Just use b4 and everything should be
fine, although remember about `b4 prep --auto-to-cc` if you added new
patches to the patchset.
</form letter>


Best regards,
Krzysztof
Rob Herring (Arm) July 5, 2024, 10:38 a.m. UTC | #2
On Fri, 05 Jul 2024 16:51:50 +0800, Tao Zhang wrote:
> Add a new property "filter_src" to label the source corresponding
> to the output connection for a static replicator. By combining
> a funnel and a static replicator in devicetree, a new device that
> supports multi-port input and multi-port output is implemented.
> In order to match the output port with the input port and
> successfully build the trace path, add this new property to
> indicate the data source corresponding to this output port.
> 
> Signed-off-by: Tao Zhang <quic_taozha@quicinc.com>
> ---
>  .../arm/arm,coresight-static-replicator.yaml   | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml: ^port@[01]$: Missing additionalProperties/unevaluatedProperties constraint
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml: endpoint: Missing additionalProperties/unevaluatedProperties constraint

doc reference errors (make refcheckdocs):

See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240705085152.9063-2-quic_taozha@quicinc.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Tao Zhang July 5, 2024, 3:23 p.m. UTC | #3
On 7/5/2024 6:38 PM, Rob Herring (Arm) wrote:
> On Fri, 05 Jul 2024 16:51:50 +0800, Tao Zhang wrote:
>> Add a new property "filter_src" to label the source corresponding
>> to the output connection for a static replicator. By combining
>> a funnel and a static replicator in devicetree, a new device that
>> supports multi-port input and multi-port output is implemented.
>> In order to match the output port with the input port and
>> successfully build the trace path, add this new property to
>> indicate the data source corresponding to this output port.
>>
>> Signed-off-by: Tao Zhang <quic_taozha@quicinc.com>
>> ---
>>   .../arm/arm,coresight-static-replicator.yaml   | 18 +++++++++++++++++-
>>   1 file changed, 17 insertions(+), 1 deletion(-)
>>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml: ^port@[01]$: Missing additionalProperties/unevaluatedProperties constraint
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml: endpoint: Missing additionalProperties/unevaluatedProperties constraint
>
> doc reference errors (make refcheckdocs):
>
> See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240705085152.9063-2-quic_taozha@quicinc.com
>
> The base for the series is generally the latest rc1. A different dependency
> should be noted in *this* patch.
>
> If you already ran 'make dt_binding_check' and didn't see the above
> error(s), then make sure 'yamllint' is installed and dt-schema is up to
> date:
>
> pip3 install dtschema --upgrade

Yes, I didn't see this errors in running 'make dt_binding_check', I will 
re-run this check

according to your suggestion.


Best,

Tao

>
> Please check and re-submit after running the above command yourself. Note
> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
> your schema. However, it must be unset to test all examples with your schema.
>
Tao Zhang July 6, 2024, 5:22 a.m. UTC | #4
On 7/5/2024 11:23 PM, Tao Zhang wrote:
>
> On 7/5/2024 6:38 PM, Rob Herring (Arm) wrote:
>> On Fri, 05 Jul 2024 16:51:50 +0800, Tao Zhang wrote:
>>> Add a new property "filter_src" to label the source corresponding
>>> to the output connection for a static replicator. By combining
>>> a funnel and a static replicator in devicetree, a new device that
>>> supports multi-port input and multi-port output is implemented.
>>> In order to match the output port with the input port and
>>> successfully build the trace path, add this new property to
>>> indicate the data source corresponding to this output port.
>>>
>>> Signed-off-by: Tao Zhang <quic_taozha@quicinc.com>
>>> ---
>>>   .../arm/arm,coresight-static-replicator.yaml   | 18 
>>> +++++++++++++++++-
>>>   1 file changed, 17 insertions(+), 1 deletion(-)
>>>
>> My bot found errors running 'make dt_binding_check' on your patch:
>>
>> yamllint warnings/errors:
>>
>> dtschema/dtc warnings/errors:
>> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml: 
>> ^port@[01]$: Missing additionalProperties/unevaluatedProperties 
>> constraint
>> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml: 
>> endpoint: Missing additionalProperties/unevaluatedProperties constraint
>>
>> doc reference errors (make refcheckdocs):
>>
>> See 
>> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240705085152.9063-2-quic_taozha@quicinc.com
>>
>> The base for the series is generally the latest rc1. A different 
>> dependency
>> should be noted in *this* patch.
>>
>> If you already ran 'make dt_binding_check' and didn't see the above
>> error(s), then make sure 'yamllint' is installed and dt-schema is up to
>> date:
>>
>> pip3 install dtschema --upgrade
>
> Yes, I didn't see this errors in running 'make dt_binding_check', I 
> will re-run this check
>
> according to your suggestion.
>
>
> Best,
>
> Tao

After upgrading dtschema and installing 'yamllint', I saw the above 
errors in running

'dt_binding_check'. I will fix them and update in the next patch series.


Best,

Tao

>
>>
>> Please check and re-submit after running the above command yourself. 
>> Note
>> that DT_SCHEMA_FILES can be set to your schema file to speed up checking
>> your schema. However, it must be unset to test all examples with your 
>> schema.
>>
> _______________________________________________
> CoreSight mailing list -- coresight@lists.linaro.org
> To unsubscribe send an email to coresight-leave@lists.linaro.org
Suzuki K Poulose July 9, 2024, 10:38 a.m. UTC | #5
minor nit: Subject: 
s/qcom,coresight-static-replicator/arm,coresight-static-replicator ? 
There is no "qcom,coresight-static-replicator" compatible.

On 05/07/2024 10:02, Krzysztof Kozlowski wrote:

> On 05/07/2024 10:51, Tao Zhang wrote:
>> Add a new property "filter_src" to label the source corresponding
>> to the output connection for a static replicator. By combining
>> a funnel and a static replicator in devicetree, a new device that
>> supports multi-port input and multi-port output is implemented.
>> In order to match the output port with the input port and
>> successfully build the trace path, add this new property to
>> indicate the data source corresponding to this output port.
>>
>> Signed-off-by: Tao Zhang <quic_taozha@quicinc.com>
>> ---
>>   .../arm/arm,coresight-static-replicator.yaml   | 18 +++++++++++++++++-
>>   1 file changed, 17 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
>> index 1892a091ac35..d9538563f9c6 100644
>> --- a/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
>> +++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
>> @@ -45,7 +45,21 @@ properties:
>>       patternProperties:
>>         '^port@[01]$':
>>           description: Output connections to CoreSight Trace bus
>> -        $ref: /schemas/graph.yaml#/properties/port
>> +        $ref: /schemas/graph.yaml#/$defs/port-base
>> +
>> +        properties:
>> +          endpoint:
>> +            $ref: /schemas/media/video-interfaces.yaml#
> 
> Ehm? How is this video interface?
> 
>> +
>> +            properties:
>> +              filter_src:
> 
> There are no properties with underscores...
> 
>> +                $ref: /schemas/types.yaml#/definitions/phandle
>> +                description:
>> +                  defines a phandle reference to an associated CoreSight trace device.
>> +                  When the associated trace device is enabled, then the respective
>> +                  trace path will be built and enabled.
> 
> How does it differ from remote endpoint? What is "respective trace path"?

Apparently, there is some "magic" hard coded filtering in the
replicators, which only passes through trace from a particular "source"
device. The documentation above doesn't explain this clearly.

it could be:

"phandle to the coresight trace source device matching the hard coded
filtering for this port"

This could be different from the "remote endpoint" as there could be
intermediate components between the phandle "source" and the port.


Suzuki



> 
> <form letter>
> Please use scripts/get_maintainers.pl to get a list of necessary people
> and lists to CC (and consider --no-git-fallback argument). It might
> happen, that command when run on an older kernel, gives you outdated
> entries. Therefore please be sure you base your patches on recent Linux
> kernel.
> 
> Tools like b4 or scripts/get_maintainer.pl provide you proper list of
> people, so fix your workflow. Tools might also fail if you work on some
> ancient tree (don't, instead use mainline) or work on fork of kernel
> (don't, instead use mainline). Just use b4 and everything should be
> fine, although remember about `b4 prep --auto-to-cc` if you added new
> patches to the patchset.
> </form letter>
> 
> 
> Best regards,
> Krzysztof
>
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
index 1892a091ac35..d9538563f9c6 100644
--- a/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
+++ b/Documentation/devicetree/bindings/arm/arm,coresight-static-replicator.yaml
@@ -45,7 +45,21 @@  properties:
     patternProperties:
       '^port@[01]$':
         description: Output connections to CoreSight Trace bus
-        $ref: /schemas/graph.yaml#/properties/port
+        $ref: /schemas/graph.yaml#/$defs/port-base
+
+        properties:
+          endpoint:
+            $ref: /schemas/media/video-interfaces.yaml#
+
+            properties:
+              filter_src:
+                $ref: /schemas/types.yaml#/definitions/phandle
+                description:
+                  defines a phandle reference to an associated CoreSight trace device.
+                  When the associated trace device is enabled, then the respective
+                  trace path will be built and enabled.
+
+              remote-endpoint: true
 
 required:
   - compatible
@@ -72,6 +86,7 @@  examples:
                 reg = <0>;
                 replicator_out_port0: endpoint {
                     remote-endpoint = <&etb_in_port>;
+                    filter_src = <&tpdm_video>;
                 };
             };
 
@@ -79,6 +94,7 @@  examples:
                 reg = <1>;
                 replicator_out_port1: endpoint {
                     remote-endpoint = <&tpiu_in_port>;
+                    filter_src = <&tpdm_mdss>;
                 };
             };
         };