Message ID | 20221026190520.4004264-2-quic_molvera@quicinc.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp439833wru; Wed, 26 Oct 2022 12:10:07 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7Ai2/sC4OHq6x3cFeKex8OtgZ6ryZq6z6QSLYtXOK5xxEy7My91FID9jCZHqx7nLSQUjZQ X-Received: by 2002:a17:906:c151:b0:78d:cdbc:9fb7 with SMTP id dp17-20020a170906c15100b0078dcdbc9fb7mr37492775ejc.688.1666811407590; Wed, 26 Oct 2022 12:10:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666811407; cv=none; d=google.com; s=arc-20160816; b=vo6JkPtA2Ic65ZOJPuRgCQh+MyWsCsCbKyrzWBioucfhutLA6sB5QL5sbKhsC/5RJE 19Cx7RkFhGFqB9p/aM3glyl1QnT5slQmDAuBR7KjGOyZZ4GVok2U6XCWr1m2xyt+WaY4 9UAv02jXvmvfDJYmvlsWDBp4a1ErS1Q6zFYIpeBJ/TSsE/WVZIpEzIBzC7KcacUbJuIl /IdeEGjnbYgrK1jELVCrRFpQAI4oDWMGfv80jUihBArYO8D/g9RYtLSaxRpSlF+SuXIm Ko6nTbLQI0sKqYfaZEETqjg1+zCpHjfiBlyUH0nD4qhgLt6Xv45k6QtOwkLSG5agXp0v L8sA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9xmkUfI9JAiM/3mbGjFWwExnzdnvfdG9xEPi7WVpQSk=; b=rvOEFRQk72YzSUUiMPN+n2RI4/sPpuksOTzCOhZhcBG594daOzU+VRBJv5FA5NO0hb LtXCpg1oTmZdkXuQxWPjVo8QF3BPD5dJwh6An8asrNEKHyrUoxKpRM8aZ2TWXYI5RTDk qYz103BKjb6a3vPeU+X+LC+2i0ccVR/Q8Q5Uf0T7xiP9a/FMDgdVwEGWRN2a+1qMQ59Q CrfstjZjtU+rdQK0OHjVsy/CfqiGyign87vR+0jZBVWpdVX7EUJZq3GSWK9IAwnyOPrw vnr6ZTpSLoovix94XNWAda3YReO6Zc2Sdc19pxQ9r49XwWWHw9xpmI+0n3AcOX/7ssAf J2sA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=N2Uc0WDz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sd21-20020a1709076e1500b0077e9417b5a7si7040575ejc.938.2022.10.26.12.09.42; Wed, 26 Oct 2022 12:10:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=N2Uc0WDz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234826AbiJZTIk (ORCPT <rfc822;pwkd43@gmail.com> + 99 others); Wed, 26 Oct 2022 15:08:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55970 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234695AbiJZTHp (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 26 Oct 2022 15:07:45 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4B45B2D1D2; Wed, 26 Oct 2022 12:05:37 -0700 (PDT) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29QIsrvS016061; Wed, 26 Oct 2022 19:05:33 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=9xmkUfI9JAiM/3mbGjFWwExnzdnvfdG9xEPi7WVpQSk=; b=N2Uc0WDzLjtbPtIs610Dfh10EylNFsIPW/wAqNPkGvPif7W2THpcTLUHnOHWHlBWUO7+ rk2Mg6CU8YSavg462g4xtqDQSoKR+lR4u+o20cFGDiGZnQEKLu00vo09m4c+MM/CiXfW rJ1SCk/d9Yv5GAeKWQGmDJCqLO8lRD3vdvkgLBaxW3igMw6We8fQevllwzMeUh0XCKPK 9hXLPzDGSfVnvDyRj7WN1Cnp3Rve8m7ZwrPp4Sr7Z2OKR9ZtwMPqHWprnIX7WV4TTUDw Q4UuYyukFH+4uJF/ulvggcCrcwC06sHsye1m9h8OvUpQ58ayg60EYSF8efiyXx2bZDL/ /Q== Received: from nasanppmta05.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3kfahvr1ew-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 26 Oct 2022 19:05:33 +0000 Received: from nasanex01b.na.qualcomm.com (nasanex01b.na.qualcomm.com [10.46.141.250]) by NASANPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 29QJ5WKL006214 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 26 Oct 2022 19:05:32 GMT Received: from hu-eberman-lv.qualcomm.com (10.49.16.6) by nasanex01b.na.qualcomm.com (10.46.141.250) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29; Wed, 26 Oct 2022 12:05:31 -0700 From: Melody Olvera <quic_molvera@quicinc.com> To: Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, Georgi Djakov <djakov@kernel.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org> CC: Odelu Kukatla <quic_okukatla@quicinc.com>, <linux-arm-msm@vger.kernel.org>, <linux-pm@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, Melody Olvera <quic_molvera@quicinc.com> Subject: [PATCH v3 1/3] dt-bindings: interconnect: Remove required reg field Date: Wed, 26 Oct 2022 12:05:18 -0700 Message-ID: <20221026190520.4004264-2-quic_molvera@quicinc.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221026190520.4004264-1-quic_molvera@quicinc.com> References: <20221026190520.4004264-1-quic_molvera@quicinc.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01a.na.qualcomm.com (10.47.209.196) To nasanex01b.na.qualcomm.com (10.46.141.250) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: IwmQlVCoupEvlQ7YGhY6BKyTAcVWOKSu X-Proofpoint-GUID: IwmQlVCoupEvlQ7YGhY6BKyTAcVWOKSu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-26_07,2022-10-26_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 suspectscore=0 lowpriorityscore=0 mlxlogscore=875 spamscore=0 phishscore=0 bulkscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2210260107 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1747778438469471027?= X-GMAIL-MSGID: =?utf-8?q?1747778438469471027?= |
Series |
Add interconnect support for QDU1000/QRU1000 SoCs
|
|
Commit Message
Melody Olvera
Oct. 26, 2022, 7:05 p.m. UTC
Many of the *-virt compatible devices do not have a reg field
so remove it as required from the bindings.
Signed-off-by: Melody Olvera <quic_molvera@quicinc.com>
---
Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml | 1 -
1 file changed, 1 deletion(-)
Comments
On 26/10/2022 15:05, Melody Olvera wrote: > Many of the *-virt compatible devices do not have a reg field > so remove it as required from the bindings. and some virt have it... This should be probably separate binding or if the list is small - allOf:if:then. Anyway you need to resend everything to Cc all maintainers, not some subset. Best regards, Krzysztof
On 10/27/2022 8:29 AM, Krzysztof Kozlowski wrote: > On 26/10/2022 15:05, Melody Olvera wrote: >> Many of the *-virt compatible devices do not have a reg field >> so remove it as required from the bindings. > and some virt have it... This should be probably separate binding or if > the list is small - allOf:if:then. I attempted this; however I'm still seeing failures in dtb_check. I've added this to the binding; does this look correct? allOf: - $ref: qcom,rpmh-common.yaml# + - if: + properties: + compatible: + contains: + enum: + - qcom,qdu1000-clk-virt + - qcom,qdu1000-mc-virt + + then: + required: + - compatible > > Anyway you need to resend everything to Cc all maintainers, not some subset. Discussed earlier. Thanks, Melody
On 31/10/2022 19:29, Melody Olvera wrote: > > > On 10/27/2022 8:29 AM, Krzysztof Kozlowski wrote: >> On 26/10/2022 15:05, Melody Olvera wrote: >>> Many of the *-virt compatible devices do not have a reg field >>> so remove it as required from the bindings. >> and some virt have it... This should be probably separate binding or if >> the list is small - allOf:if:then. > I attempted this; however I'm still seeing failures in dtb_check. I've added this > to the binding; does this look correct? > allOf: > - $ref: qcom,rpmh-common.yaml# > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,qdu1000-clk-virt > + - qcom,qdu1000-mc-virt > + > + then: > + required: > + - compatible No, because we talk about reg, not compatible. You should not require reg instead for some compatibles... but then the schema is getting complicated. It's difficult to give you recommendation because I do not know what are all these "virt" interconnects. Why some have unit address, why some do not? Best regards, Krzysztof
Hi, On 2.11.22 23:11, Krzysztof Kozlowski wrote: > On 31/10/2022 19:29, Melody Olvera wrote: >> >> >> On 10/27/2022 8:29 AM, Krzysztof Kozlowski wrote: >>> On 26/10/2022 15:05, Melody Olvera wrote: >>>> Many of the *-virt compatible devices do not have a reg field >>>> so remove it as required from the bindings. >>> and some virt have it... This should be probably separate binding or if >>> the list is small - allOf:if:then. >> I attempted this; however I'm still seeing failures in dtb_check. I've added this >> to the binding; does this look correct? >> allOf: >> - $ref: qcom,rpmh-common.yaml# >> + - if: >> + properties: >> + compatible: >> + contains: >> + enum: >> + - qcom,qdu1000-clk-virt >> + - qcom,qdu1000-mc-virt >> + >> + then: >> + required: >> + - compatible > > No, because we talk about reg, not compatible. You should not require > reg instead for some compatibles... but then the schema is getting > complicated. > > It's difficult to give you recommendation because I do not know what are > all these "virt" interconnects. Why some have unit address, why some do not? My understanding is that the "reg" property is required for the NoCs that have registers for controlling the QoS settings for the ports from Linux side. Other NoCs might be controlled by some remote processor and direct access from Linux may not be possible, so they do not have unit address and are outside of the soc DT node. Do we need to strictly define when exactly the "reg" property is required, can't we just mark it as optional? Thanks, Georgi
On 07/11/2022 15:36, Georgi Djakov wrote: > Hi, > > On 2.11.22 23:11, Krzysztof Kozlowski wrote: >> On 31/10/2022 19:29, Melody Olvera wrote: >>> >>> >>> On 10/27/2022 8:29 AM, Krzysztof Kozlowski wrote: >>>> On 26/10/2022 15:05, Melody Olvera wrote: >>>>> Many of the *-virt compatible devices do not have a reg field >>>>> so remove it as required from the bindings. >>>> and some virt have it... This should be probably separate binding or if >>>> the list is small - allOf:if:then. >>> I attempted this; however I'm still seeing failures in dtb_check. I've added this >>> to the binding; does this look correct? >>> allOf: >>> - $ref: qcom,rpmh-common.yaml# >>> + - if: >>> + properties: >>> + compatible: >>> + contains: >>> + enum: >>> + - qcom,qdu1000-clk-virt >>> + - qcom,qdu1000-mc-virt >>> + >>> + then: >>> + required: >>> + - compatible >> >> No, because we talk about reg, not compatible. You should not require >> reg instead for some compatibles... but then the schema is getting >> complicated. >> >> It's difficult to give you recommendation because I do not know what are >> all these "virt" interconnects. Why some have unit address, why some do not? > > My understanding is that the "reg" property is required for the NoCs that have > registers for controlling the QoS settings for the ports from Linux side. > Other NoCs might be controlled by some remote processor and direct access from > Linux may not be possible, so they do not have unit address and are outside of > the soc DT node. > Do we need to strictly define when exactly the "reg" property is required, > can't we just mark it as optional? It's preferred to make it strictly required or not allowed, so the bindings are specific. This also allows to validate for mistakes. It would be a bit different case if such test for req would make the bindings complicated. I think it's not the case because we could just split the bindings into two files: 1. One for controlled by AP, with reg. 2. One for controller by remote processors, without reg. Best regards, Krzysztof
On 11/7/2022 10:28 AM, Krzysztof Kozlowski wrote: > On 07/11/2022 15:36, Georgi Djakov wrote: >> Hi, >> >> On 2.11.22 23:11, Krzysztof Kozlowski wrote: >>> On 31/10/2022 19:29, Melody Olvera wrote: >>>> >>>> On 10/27/2022 8:29 AM, Krzysztof Kozlowski wrote: >>>>> On 26/10/2022 15:05, Melody Olvera wrote: >>>>>> Many of the *-virt compatible devices do not have a reg field >>>>>> so remove it as required from the bindings. >>>>> and some virt have it... This should be probably separate binding or if >>>>> the list is small - allOf:if:then. >>>> I attempted this; however I'm still seeing failures in dtb_check. I've added this >>>> to the binding; does this look correct? >>>> allOf: >>>> - $ref: qcom,rpmh-common.yaml# >>>> + - if: >>>> + properties: >>>> + compatible: >>>> + contains: >>>> + enum: >>>> + - qcom,qdu1000-clk-virt >>>> + - qcom,qdu1000-mc-virt >>>> + >>>> + then: >>>> + required: >>>> + - compatible >>> No, because we talk about reg, not compatible. You should not require >>> reg instead for some compatibles... but then the schema is getting >>> complicated. >>> >>> It's difficult to give you recommendation because I do not know what are >>> all these "virt" interconnects. Why some have unit address, why some do not? >> My understanding is that the "reg" property is required for the NoCs that have >> registers for controlling the QoS settings for the ports from Linux side. >> Other NoCs might be controlled by some remote processor and direct access from >> Linux may not be possible, so they do not have unit address and are outside of >> the soc DT node. >> Do we need to strictly define when exactly the "reg" property is required, >> can't we just mark it as optional? > It's preferred to make it strictly required or not allowed, so the > bindings are specific. This also allows to validate for mistakes. It > would be a bit different case if such test for req would make the > bindings complicated. I think it's not the case because we could just > split the bindings into two files: > 1. One for controlled by AP, with reg. > 2. One for controller by remote processors, without reg. > Sounds good. Will drop this change and add a new binding document. Thanks, Melody
diff --git a/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml b/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml index a429a1ed1006..d9cdba15b4f4 100644 --- a/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml +++ b/Documentation/devicetree/bindings/interconnect/qcom,rpmh.yaml @@ -137,7 +137,6 @@ properties: required: - compatible - - reg unevaluatedProperties: false