[PATCH v2 1/2] dt-bindings: arm: Add qcom,inst-id for remote etm

Mao Jinlong posted 2 patches 1 year, 4 months ago
There is a newer version of this series
[PATCH v2 1/2] dt-bindings: arm: Add qcom,inst-id for remote etm
Posted by Mao Jinlong 1 year, 4 months ago
qcom,inst-id is the instance id used by qmi API to communicate with
remote processor.

Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
---
 .../bindings/arm/qcom,coresight-remote-etm.yaml        | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
index 4fd5752978cd..a65121505c68 100644
--- a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
@@ -20,6 +20,13 @@ properties:
   compatible:
     const: qcom,coresight-remote-etm
 
+  qcom,inst-id:
+    $ref: /schemas/types.yaml#/definitions/uint32
+    description:
+      This id is used by qmi API to communicate with remote processor for
+      enabling and disabling remote etm. Each processor has its unique instance
+      id.
+
   out-ports:
     $ref: /schemas/graph.yaml#/properties/ports
     additionalProperties: false
@@ -31,6 +38,7 @@ properties:
 
 required:
   - compatible
+  - qcom,inst-id
   - out-ports
 
 additionalProperties: false
@@ -40,6 +48,8 @@ examples:
     etm {
         compatible = "qcom,coresight-remote-etm";
 
+        qcom,inst-id = <5>;
+
         out-ports {
             port {
                 modem_etm0_out_funnel_modem: endpoint {
-- 
2.41.0
Re: [PATCH v2 1/2] dt-bindings: arm: Add qcom,inst-id for remote etm
Posted by Rob Herring 1 year, 4 months ago
On Wed, Aug 07, 2024 at 12:10:50AM -0700, Mao Jinlong wrote:
> qcom,inst-id is the instance id used by qmi API to communicate with
> remote processor.
> 
> Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
> ---
>  .../bindings/arm/qcom,coresight-remote-etm.yaml        | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
> index 4fd5752978cd..a65121505c68 100644
> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
> @@ -20,6 +20,13 @@ properties:
>    compatible:
>      const: qcom,coresight-remote-etm
>  
> +  qcom,inst-id:

qcom,qmi-id perhaps?

> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      This id is used by qmi API to communicate with remote processor for
> +      enabling and disabling remote etm. Each processor has its unique instance
> +      id.
Re: [PATCH v2 1/2] dt-bindings: arm: Add qcom,inst-id for remote etm
Posted by Suzuki K Poulose 1 year, 4 months ago
On 07/08/2024 08:10, Mao Jinlong wrote:
> qcom,inst-id is the instance id used by qmi API to communicate with
> remote processor.
> 
> Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
> ---
>   .../bindings/arm/qcom,coresight-remote-etm.yaml        | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
> index 4fd5752978cd..a65121505c68 100644
> --- a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
> @@ -20,6 +20,13 @@ properties:
>     compatible:
>       const: qcom,coresight-remote-etm

That is a generic name, without any clue of the QMI transport. Are there 
other ways in which an ETM could be connected ? Given how this QMI 
inst-id is added, I wonder if this is an after thought ? Why was the dt
pushed without a proper driver for it ?


Suzuki


>   
> +  qcom,inst-id:
> +    $ref: /schemas/types.yaml#/definitions/uint32
> +    description:
> +      This id is used by qmi API to communicate with remote processor for
> +      enabling and disabling remote etm. Each processor has its unique instance
> +      id.
> +
>     out-ports:
>       $ref: /schemas/graph.yaml#/properties/ports
>       additionalProperties: false
> @@ -31,6 +38,7 @@ properties:
>   
>   required:
>     - compatible
> +  - qcom,inst-id
>     - out-ports
>   
>   additionalProperties: false
> @@ -40,6 +48,8 @@ examples:
>       etm {
>           compatible = "qcom,coresight-remote-etm";
>   
> +        qcom,inst-id = <5>;
> +
>           out-ports {
>               port {
>                   modem_etm0_out_funnel_modem: endpoint {
Re: [PATCH v2 1/2] dt-bindings: arm: Add qcom,inst-id for remote etm
Posted by Jinlong Mao 1 year, 4 months ago

On 2024/8/8 18:25, Suzuki K Poulose wrote:
> On 07/08/2024 08:10, Mao Jinlong wrote:
>> qcom,inst-id is the instance id used by qmi API to communicate with
>> remote processor.
>>
>> Signed-off-by: Mao Jinlong <quic_jinlmao@quicinc.com>
>> ---
>>   .../bindings/arm/qcom,coresight-remote-etm.yaml        | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git 
>> a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml 
>> b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
>> index 4fd5752978cd..a65121505c68 100644
>> --- 
>> a/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
>> +++ 
>> b/Documentation/devicetree/bindings/arm/qcom,coresight-remote-etm.yaml
>> @@ -20,6 +20,13 @@ properties:
>>     compatible:
>>       const: qcom,coresight-remote-etm
> 
> That is a generic name, without any clue of the QMI transport. Are there 
> other ways in which an ETM could be connected ? Given how this QMI 
> inst-id is added, I wonder if this is an after thought ? Why was the dt
> pushed without a proper driver for it ?
> 
> 
> Suzuki

Hi Suzuki,

This driver is to enable/disable ETM of remote processors by QMI 
service. QMI connection is the only way to communicate between kernel 
driver and remote QMI service. Instance id is required. The id is unique
for each remote processor.

The dt is pushed to solve the device tree warning in Qualcomm's devicetree.

https://lore.kernel.org/linux-arm-msm/20231210072633.4243-1-quic_jinlmao@quicinc.com/

https://lore.kernel.org/linux-arm-msm/20231210072633.4243-2-quic_jinlmao@quicinc.com/

Thanks
Jinlong Mao
> 
> 
>> +  qcom,inst-id:
>> +    $ref: /schemas/types.yaml#/definitions/uint32
>> +    description:
>> +      This id is used by qmi API to communicate with remote processor 
>> for
>> +      enabling and disabling remote etm. Each processor has its 
>> unique instance
>> +      id.
>> +
>>     out-ports:
>>       $ref: /schemas/graph.yaml#/properties/ports
>>       additionalProperties: false
>> @@ -31,6 +38,7 @@ properties:
>>   required:
>>     - compatible
>> +  - qcom,inst-id
>>     - out-ports
>>   additionalProperties: false
>> @@ -40,6 +48,8 @@ examples:
>>       etm {
>>           compatible = "qcom,coresight-remote-etm";
>> +        qcom,inst-id = <5>;
>> +
>>           out-ports {
>>               port {
>>                   modem_etm0_out_funnel_modem: endpoint {
>