Received: by 2002:ab2:6857:0:b0:1ef:ffd0:ce49 with SMTP id l23csp1007546lqp; Fri, 22 Mar 2024 02:45:22 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXJwcy20IDUdqfppOcMSB9ImGGTReEEpnG5LtX0oXXRu+hI5VaFh8e7A9NBc9O7egdcWVpNTdnXZ/qmH726Aale814B1ENHy20oiRvyWg== X-Google-Smtp-Source: AGHT+IG1/y76wfrBK+jcWtqkeLz7q1zLY7dJBz4q69o/wI21LDmQ4uwa5zRNO2kiv/x5+nGiO+A4 X-Received: by 2002:a05:6214:2427:b0:690:d9b8:9596 with SMTP id gy7-20020a056214242700b00690d9b89596mr1672059qvb.62.1711100721939; Fri, 22 Mar 2024 02:45:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1711100721; cv=pass; d=google.com; s=arc-20160816; b=N8tn1PlKQevZ6iIhR9lb4vx8/2Mzm9TrFMIuzIosV4UaVxSEg7wTRNR1kayMEz8N/G iJ0stzAqK0kmMrI8hnPfUxLZLgL2u4+QLaGQxJVZHj3bYwwifqQiPvPtyRHZ517PaIkU Q4YsMvcfLfHOzNhde87Z6tQ+2SfAE7NLAUjQo8C/d5SBTuR+GauEBMx+eexHqmVDk97M 8tDX7PNyuJGVbVIqSZrKmbtkGspfRV4Gka54uVLwUBrByQ3tJhVu9JlnwdU7ogZ8lND4 Se7fPU5LO93sjYJ3PvWRJNowQCHDzBfiZZtymCnlmLwDEP4bsopb9irf0fCR9EPPbo7Z /gww== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id; bh=yLTXYopaFi/Aa+lDBdlNe95wRqpX2W1X3kkg02QYE2M=; fh=8Bxl1y0HcXDDsul2VjAXWoRK4VgcpXqetP1lXArj5PU=; b=wztuGsddSr8ijyAZOwdmN8h0OgaxNHuP9LXV6XKqGFPsK3lZS31f6ixohEVGe/YASE jDQA57RTPpRmuLJ078E/bdv2o62JgeOtfX18v9lqlov6QaICqxi/cq28rp2Csz3xPu0X sTXhd7s6ln8ovEvsJ1qMLijwWfXrpP5lI6KaDR6plau2GrexCZ8ghxnwYkRb56NoBUsl 8gT2bbT+FLNPRjdKa6Pf4LZZqDkIM6lI01Qo9Sh+Je72T3sBzoF+qFID3FSTCrO4xyhq i/ZuGRX/Z22jXTtSwyVtLZIzPoJD+8dps0kuNWpfCExv51xU3ZwCatYwF1Z6PWOGiuHp FZMw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-111240-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-111240-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id jz12-20020a0562140e6c00b006961c24ae85si1651426qvb.420.2024.03.22.02.45.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Mar 2024 02:45:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-111240-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=arm.com dmarc=pass fromdomain=arm.com); spf=pass (google.com: domain of linux-kernel+bounces-111240-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-111240-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id 91A141C21005 for ; Fri, 22 Mar 2024 09:45:21 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id DFBB22C18D; Fri, 22 Mar 2024 09:43:01 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 511323FE46; Fri, 22 Mar 2024 09:42:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711100581; cv=none; b=ISlbWdFH5+fVZis7Xqziiuh++usmq+YAFoCTRrOLHZKztVddlMh2pku8PSEMHUJc6PzivXt1dpFd3grcgNGmeAWxpxD9s1KyJcQHJDI+8P6Z32MgOaQj5ffgXkyekRhkxYYJKxtMPkDevuxeWvoCnf+8e59i//kWYXJy+WGEruo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711100581; c=relaxed/simple; bh=4XSgrd53fgq8pz/oH+SK70bj/WOL2pQYKk/6vEmUPMk=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=iJ6Nt9FqSf8lfsMb6J/+0ipGdf4wurMF6i4868/EFKSCSOVksZaUwlZyoVTwrcPDETi7Lb9qLGbuXHPw7DoHTsUx/su2pVhgWuF48sNwM3lE4TMgQ+fl0FQywrsI7p8s57gvOKWdrIrrDSgdp3irJo+kPHwl8JRL0ZvuYbKYXwU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BDAE01007; Fri, 22 Mar 2024 02:43:32 -0700 (PDT) Received: from [10.57.53.86] (unknown [10.57.53.86]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BEA703F64C; Fri, 22 Mar 2024 02:42:55 -0700 (PDT) Message-ID: <77fd8549-5e69-42a8-9e35-5d3de56a490f@arm.com> Date: Fri, 22 Mar 2024 09:42:54 +0000 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 1/4] dt-bindings: arm: qcom,coresight-funnel: Add label for multi-ouput Content-Language: en-GB To: Tingwei Zhang , Rob Herring , Tao Zhang Cc: Mathieu Poirier , Alexander Shishkin , Konrad Dybcio , Mike Leach , Krzysztof Kozlowski , Jinlong Mao , Leo Yan , Greg Kroah-Hartman , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Yuanfang Zhang , Trilok Soni , Song Chai , linux-arm-msm@vger.kernel.org, andersson@kernel.org References: <1711009927-17873-1-git-send-email-quic_taozha@quicinc.com> <1711009927-17873-2-git-send-email-quic_taozha@quicinc.com> <20240321144226.GA1689544-robh@kernel.org> <443edf61-2a28-4ae7-ac88-2da2d29cebe3@quicinc.com> From: Suzuki K Poulose In-Reply-To: <443edf61-2a28-4ae7-ac88-2da2d29cebe3@quicinc.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 22/03/2024 07:02, Tingwei Zhang wrote: > On 3/21/2024 10:42 PM, Rob Herring wrote: >> On Thu, Mar 21, 2024 at 04:32:04PM +0800, Tao Zhang wrote: >>> Add new property "label" to label the source corresponding to the >>> output connection. When the funnel supports multi-output, this >>> property needs to be introduced to mark which source component a >>> certain output connection corresponds to. >>> >>> Signed-off-by: Tao Zhang >>> --- >>>   .../arm/arm,coresight-dynamic-funnel.yaml     | 34 ++++++++++++++++--- >>>   1 file changed, 30 insertions(+), 4 deletions(-) >>> >>> diff --git >>> a/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml b/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml >>> index 44a1041cb0fc..cde62c286d29 100644 >>> --- >>> a/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml >>> +++ >>> b/Documentation/devicetree/bindings/arm/arm,coresight-dynamic-funnel.yaml >>> @@ -66,13 +66,39 @@ properties: >>>           $ref: /schemas/graph.yaml#/properties/port >>>     out-ports: >>> -    $ref: /schemas/graph.yaml#/properties/ports >>> -    additionalProperties: false >>> - >>> +    type: object >>>       properties: >>> +      "#address-cells": >>> +        const: 1 >>> + >>> +      "#size-cells": >>> +        const: 0 >>> + >>>         port: >>> +        type: object >>> + >>> +    patternProperties: >>> +      '^port(@[0-7])?$': >>> +        type: object >>>           description: Output connection to CoreSight Trace bus >>> -        $ref: /schemas/graph.yaml#/properties/port >> >> Nope, now you have no constraints on port node properties. Please look >> at how other bindings are done to add properties on endpoint node. >> > Thanks for pointing this out, Rob. Shall we ref port-base and > endpoint-base then add new properties on endpoint? In this way, the > redundant code from port schema is not required. >>> + >>> +        patternProperties: >>> +          "^endpoint(@[0-9a-f]+)?$": >>> +            type: object >>> +            properties: >>> +              remote-endpoint: >>> +                description: | >>> +                  phandle to an 'endpoint' subnode of a remote >>> device node. >>> +                  $ref: /schemas/types.yaml#/definitions/phandle >> >> Don't need this. >> >>> +              label: >>> +                description: Label the source corresponding to the >>> output connection >>> +                $ref: /schemas/types.yaml#/definitions/string >> >> label already has a type. >> >> As this node is an output, aren't you labeling what the destination is, >> not the "source"? >> >> Why can't you look at the remote connection to identify what it is? >> > This funnel can route data stream from different trace source to > different output ports. This lable property is added to describe which > source is routed to this output port. > > For example, the graph is as below. Funnel3 routes trace data from TPDM0 > to output[0] and output[0] of funnel3 is connected to input[0] of TPDA0. Funnel3 and Funnel4 are really Replicators ! How are they Funnels ? Again, my question still stands. Are Funnel(Replicator-renamed)3/4 and Funnel 0/1/2 programmable ? Suzuki > While Funnels routes trace data from TPDM1 to output[1] which connects > to input[1] of TPDA0. Hope that clarifies this a little bit. > > |---------|    |---------|    |---------|    |---------|    |---------| > |  TPDM0  |    |  TPDM1  |    |  TPDM2  |    |  TPDM3  |    |  TPDM4  | > |---------|    |---------|    |---------|    |---------|    |---------| >     |               |             |               |              | >     |               |             |               |              | >     |               |             |               |              | >     |-----|   |-----|             |-----|   |-----|              | >           |   |                         |   |                    | >           |   |                         |   |                    | >        [0]|   |[1]                   [0]|   |[1]                 | >      \-------------/               \-------------/        \------------/ >       \  FUNNEL0  /                 \  FUNNEL1  /          \  FUNNEL2  / >        -----------                   -----------            ----------- >             |                             |                      | >      \-------------/               \-------------/               | >       \  FUNNEL3  /                 \  FUNNEL4  /                | >        -----------                   -----------                 | >           |  |                         |   | >        [0]|  |[1]                   [0]|   |[1]                  | >           |  |----------               |   |                     | >           |            |               |   |                     | >           |-------|    |      |------- |   |          |--------- | >                   |    |      |            |          | >                   |    |      |            |          | >                [0]|    |[1]   |[2]         |[3]       |[4] >            \ ---------------------------------------------------/ >             \                     TPDA0                        / >              \                                                / >               ------------------------------------------------ > >> >>> +    oneOf: >>> +      - required: >>> +          - port >>> +      - required: >>> +          - "#address-cells" >>> +          - "#size-cells" >> >> The common schema that you removed handles this. >> >> Rob >