Message ID | 20230624-sm6125-dpu-v1-6-1d5a638cebf2@somainline.org |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp6128888vqr; Fri, 23 Jun 2023 17:50:15 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5vjwYOCkrhtHKDoULBH0oUJwe5Uwq8He5fMtAwrIGHZyq6xo6uAYdVGfP29LByd93aGyGP X-Received: by 2002:a05:6a00:d89:b0:668:71d5:a764 with SMTP id bf9-20020a056a000d8900b0066871d5a764mr19728806pfb.9.1687567815027; Fri, 23 Jun 2023 17:50:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687567815; cv=none; d=google.com; s=arc-20160816; b=T5vRFWm2g2ZmDaWQ9dJbyCAS+/fXgwrLEbT9p6H1Ie+T0hNq30IPZkOmp5CUZLw8Rc 2Qk/7p9hWbNcxW1ItARAA1taF9JNN7+cAjzuy5ymY6a4OfanhL1S/CfmtbjuiULQCzlG pTs5BsNydlroToMpRo83eRt8l3ZoqUDEMxEcK4syGUXHZWYX3sjaDB3OOJtvxUFUlRVH ut0jOiCQdgPIgmVch7QmWOkSiGYApojF3m7L5SAycALNr5bpgzhndwlgHc0bPLg/VC1H q8rG9Lf8f8uHqpg1KbEVcg90zYo3qlaoOa3UYF7UrYuCTvOqluCANQ5r3g6Te/kml8/t 1adg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:in-reply-to:references:message-id :content-transfer-encoding:mime-version:subject:date:from; bh=KtX9ekWkXb6agtPaLuAIcbglMLc506J6kWRG7S5Sk5M=; fh=OfzUp+OcwbFUfZC2mGhS6GGXsXqM7NhjMWKyOt4HPQU=; b=slqQd/mJRdqpipyh3yLzJwldZq+cjnEMFJfzDpLhhJpgFkA2B8A5ZtPKqjgnEOpxkW ePq0xlxzzt6vXrg/O7qbEQM8chpuSVm7WEzZcLBBJJ3I3rHKfmI7d1c453hgqMiWllnb +T6jSbPF9v55qKmeNvLAfaDtf4DdQ10hu05H3ioiARoGFEQ8zhLnkUWVFN+wq3eziqNb uum+smIX9F9YT/Rixr6IGjjxFGseRv07oz8h+/hFwDRHf0wlbfiTIuTBIjZh2vULD8xL nnHRwiZMDKMYKf0ESXlQm90mbgNe03jMW9PofzuNkB/+Us7qTqSW+oY2MNUDsYkGu+gR Uw/Q== ARC-Authentication-Results: i=1; mx.google.com; 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 Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r28-20020a63fc5c000000b0053f1af91622si530059pgk.579.2023.06.23.17.50.02; Fri, 23 Jun 2023 17:50:15 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232391AbjFXAlf (ORCPT <rfc822;maxin.john@gmail.com> + 99 others); Fri, 23 Jun 2023 20:41:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42582 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232011AbjFXAlS (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 23 Jun 2023 20:41:18 -0400 Received: from m-r2.th.seeweb.it (m-r2.th.seeweb.it [5.144.164.171]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CF4A02952 for <linux-kernel@vger.kernel.org>; Fri, 23 Jun 2023 17:41:10 -0700 (PDT) Received: from Marijn-Arch-PC.localdomain (94-211-6-86.cable.dynamic.v4.ziggo.nl [94.211.6.86]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by m-r2.th.seeweb.it (Postfix) with ESMTPSA id 3093E3F7EE; Sat, 24 Jun 2023 02:41:08 +0200 (CEST) From: Marijn Suijten <marijn.suijten@somainline.org> Date: Sat, 24 Jun 2023 02:41:04 +0200 Subject: [PATCH 06/15] dt-bindings: display/msm: sc7180-dpu: Describe SM6125 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20230624-sm6125-dpu-v1-6-1d5a638cebf2@somainline.org> References: <20230624-sm6125-dpu-v1-0-1d5a638cebf2@somainline.org> In-Reply-To: <20230624-sm6125-dpu-v1-0-1d5a638cebf2@somainline.org> To: Andy Gross <agross@kernel.org>, Bjorn Andersson <andersson@kernel.org>, Rob Herring <robh+dt@kernel.org>, Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>, Conor Dooley <conor+dt@kernel.org>, Michael Turquette <mturquette@baylibre.com>, Stephen Boyd <sboyd@kernel.org>, Rob Clark <robdclark@gmail.com>, Abhinav Kumar <quic_abhinavk@quicinc.com>, Dmitry Baryshkov <dmitry.baryshkov@linaro.org>, Sean Paul <sean@poorly.run>, David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>, Krishna Manikandan <quic_mkrishn@quicinc.com> Cc: ~postmarketos/upstreaming@lists.sr.ht, AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>, Konrad Dybcio <konrad.dybcio@linaro.org>, Martin Botka <martin.botka@somainline.org>, Jami Kettunen <jami.kettunen@somainline.org>, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski <krzk@kernel.org>, linux-clk@vger.kernel.org, dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org, Lux Aliaga <they@mint.lgbt>, Marijn Suijten <marijn.suijten@somainline.org> X-Mailer: b4 0.12.2 X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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?1769543109067669790?= X-GMAIL-MSGID: =?utf-8?q?1769543109067669790?= |
Series |
drm/msm: Add SM6125 MDSS/DPU hardware and enable Sony Xperia 10 II panel
|
|
Commit Message
Marijn Suijten
June 24, 2023, 12:41 a.m. UTC
SM6125 is identical to SM6375 except that while downstream also defines
a throttle clock, its presence results in timeouts whereas SM6375
requires it to not observe any timeouts.
Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org>
---
Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml | 1 +
1 file changed, 1 insertion(+)
Comments
On 24/06/2023 02:41, Marijn Suijten wrote: > SM6125 is identical to SM6375 except that while downstream also defines > a throttle clock, its presence results in timeouts whereas SM6375 > requires it to not observe any timeouts. Then it should not be allowed, so you need either "else:" block or another "if: properties: compatible:" to disallow it. Because in current patch it would be allowed. Best regards, Krzysztof
On 2023-06-24 11:12:52, Krzysztof Kozlowski wrote: > On 24/06/2023 02:41, Marijn Suijten wrote: > > SM6125 is identical to SM6375 except that while downstream also defines > > a throttle clock, its presence results in timeouts whereas SM6375 > > requires it to not observe any timeouts. > > Then it should not be allowed, so you need either "else:" block or > another "if: properties: compatible:" to disallow it. Because in current > patch it would be allowed. That means this binding is wrong/incomplete for all other SoCs then. clock(-name)s has 6 items, and sets `minItems: 6`. Only for sm6375-dpu does it set `minItems: 7`, but an else case is missing. Shall I send a Fixes: ed41005f5b7c ("dt-bindings: display/msm: sc7180-dpu: Describe SM6350 and SM6375") for that, and should maxItems: 6 be the default under clock(-name)s or in an else:? - Marijn
On 24/06/2023 03:41, Marijn Suijten wrote: > SM6125 is identical to SM6375 except that while downstream also defines > a throttle clock, its presence results in timeouts whereas SM6375 > requires it to not observe any timeouts. I see that the vendor DTS still references this clock. Abhinav, Tanya, do possibly know what can be wrong here? > > Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> > --- > Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml > index 630b11480496..6d2ba9a1cca1 100644 > --- a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml > +++ b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml > @@ -15,6 +15,7 @@ properties: > compatible: > enum: > - qcom,sc7180-dpu > + - qcom,sm6125-dpu > - qcom,sm6350-dpu > - qcom,sm6375-dpu > >
On 25/06/2023 21:52, Marijn Suijten wrote: > On 2023-06-24 11:12:52, Krzysztof Kozlowski wrote: >> On 24/06/2023 02:41, Marijn Suijten wrote: >>> SM6125 is identical to SM6375 except that while downstream also defines >>> a throttle clock, its presence results in timeouts whereas SM6375 >>> requires it to not observe any timeouts. >> >> Then it should not be allowed, so you need either "else:" block or >> another "if: properties: compatible:" to disallow it. Because in current >> patch it would be allowed. > > That means this binding is wrong/incomplete for all other SoCs then. > clock(-name)s has 6 items, and sets `minItems: 6`. Only for sm6375-dpu > does it set `minItems: 7`, but an else case is missing. Ask the author why it is done like this. > > Shall I send a Fixes: ed41005f5b7c ("dt-bindings: display/msm: > sc7180-dpu: Describe SM6350 and SM6375") for that, and should maxItems: > 6 be the default under clock(-name)s or in an else:? There is no bug to fix. Or at least it is not yet known. Whether other devices should be constrained as well - sure, sounds reasonable, but I did not check the code exactly. We talk here about this patch. Best regards, Krzysztof
On 2023-06-26 18:16:58, Krzysztof Kozlowski wrote: > On 25/06/2023 21:52, Marijn Suijten wrote: > > On 2023-06-24 11:12:52, Krzysztof Kozlowski wrote: > >> On 24/06/2023 02:41, Marijn Suijten wrote: > >>> SM6125 is identical to SM6375 except that while downstream also defines > >>> a throttle clock, its presence results in timeouts whereas SM6375 > >>> requires it to not observe any timeouts. > >> > >> Then it should not be allowed, so you need either "else:" block or > >> another "if: properties: compatible:" to disallow it. Because in current > >> patch it would be allowed. > > > > That means this binding is wrong/incomplete for all other SoCs then. > > clock(-name)s has 6 items, and sets `minItems: 6`. Only for sm6375-dpu Of course meant to say that clock(-name)s has **7** items, not 6. > > does it set `minItems: 7`, but an else case is missing. > > Ask the author why it is done like this. Konrad, can you clarify why other > > Shall I send a Fixes: ed41005f5b7c ("dt-bindings: display/msm: > > sc7180-dpu: Describe SM6350 and SM6375") for that, and should maxItems: > > 6 be the default under clock(-name)s or in an else:? > > There is no bug to fix. Or at least it is not yet known. Whether other > devices should be constrained as well - sure, sounds reasonable, but I > did not check the code exactly. I don't know either, but we need this information to decide whether to use `maxItems: 6`: 1. Directly on the property; 2. In an `else:` case on the current `if: sm6375-dpu` (should have the same effect as 1., afaik); 3. In a second `if:` case that lists all SoCS explicitly. Since we don't have this information, I think option 3. is the right way to go, setting `maxItems: 6` for qcom,sm6125-dpu. However, it is not yet understood why downstream is able to use the throttle clock without repercussions. > We talk here about this patch. We used this patch to discover that other SoCs are similarly unconstrained. But if you don't want me to look into it, by all means! Saves me a lot of time. So I will go with option 3. - Marijn
On 26.06.2023 19:54, Marijn Suijten wrote: > On 2023-06-26 18:16:58, Krzysztof Kozlowski wrote: >> On 25/06/2023 21:52, Marijn Suijten wrote: >>> On 2023-06-24 11:12:52, Krzysztof Kozlowski wrote: >>>> On 24/06/2023 02:41, Marijn Suijten wrote: >>>>> SM6125 is identical to SM6375 except that while downstream also defines >>>>> a throttle clock, its presence results in timeouts whereas SM6375 >>>>> requires it to not observe any timeouts. >>>> >>>> Then it should not be allowed, so you need either "else:" block or >>>> another "if: properties: compatible:" to disallow it. Because in current >>>> patch it would be allowed. >>> >>> That means this binding is wrong/incomplete for all other SoCs then. >>> clock(-name)s has 6 items, and sets `minItems: 6`. Only for sm6375-dpu > > Of course meant to say that clock(-name)s has **7** items, not 6. > >>> does it set `minItems: 7`, but an else case is missing. >> >> Ask the author why it is done like this. > > Konrad, can you clarify why other 6375 needs the throttle clk and the clock(-names) are strongly ordered so having minItems: 6 discards the last entry Konrad > >>> Shall I send a Fixes: ed41005f5b7c ("dt-bindings: display/msm: >>> sc7180-dpu: Describe SM6350 and SM6375") for that, and should maxItems: >>> 6 be the default under clock(-name)s or in an else:? >> >> There is no bug to fix. Or at least it is not yet known. Whether other >> devices should be constrained as well - sure, sounds reasonable, but I >> did not check the code exactly. > > I don't know either, but we need this information to decide whether to > use `maxItems: 6`: > > 1. Directly on the property; > 2. In an `else:` case on the current `if: sm6375-dpu` (should have the > same effect as 1., afaik); > 3. In a second `if:` case that lists all SoCS explicitly. > > Since we don't have this information, I think option 3. is the right way > to go, setting `maxItems: 6` for qcom,sm6125-dpu. > > However, it is not yet understood why downstream is able to use the > throttle clock without repercussions. > >> We talk here about this patch. > > We used this patch to discover that other SoCs are similarly > unconstrained. But if you don't want me to look into it, by all means! > Saves me a lot of time. So I will go with option 3. > > - Marijn
On 2023-06-26 20:57:51, Konrad Dybcio wrote: > On 26.06.2023 19:54, Marijn Suijten wrote: > > On 2023-06-26 18:16:58, Krzysztof Kozlowski wrote: > >> On 25/06/2023 21:52, Marijn Suijten wrote: > >>> On 2023-06-24 11:12:52, Krzysztof Kozlowski wrote: > >>>> On 24/06/2023 02:41, Marijn Suijten wrote: > >>>>> SM6125 is identical to SM6375 except that while downstream also defines > >>>>> a throttle clock, its presence results in timeouts whereas SM6375 > >>>>> requires it to not observe any timeouts. > >>>> > >>>> Then it should not be allowed, so you need either "else:" block or > >>>> another "if: properties: compatible:" to disallow it. Because in current > >>>> patch it would be allowed. > >>> > >>> That means this binding is wrong/incomplete for all other SoCs then. > >>> clock(-name)s has 6 items, and sets `minItems: 6`. Only for sm6375-dpu > > > > Of course meant to say that clock(-name)s has **7** items, not 6. > > > >>> does it set `minItems: 7`, but an else case is missing. > >> > >> Ask the author why it is done like this. > > > > Konrad, can you clarify why other (Looks like I forgot to complete this sentence before sending, apologies) > 6375 needs the throttle clk and the clock(-names) are strongly ordered > so having minItems: 6 discards the last entry The question is whether or not we should have maxItems: 6 to disallow the clock from being passed: right now it is optional and either is allowed for any !6375 SoC. - Marijn > > Konrad > > > >>> Shall I send a Fixes: ed41005f5b7c ("dt-bindings: display/msm: > >>> sc7180-dpu: Describe SM6350 and SM6375") for that, and should maxItems: > >>> 6 be the default under clock(-name)s or in an else:? > >> > >> There is no bug to fix. Or at least it is not yet known. Whether other > >> devices should be constrained as well - sure, sounds reasonable, but I > >> did not check the code exactly. > > > > I don't know either, but we need this information to decide whether to > > use `maxItems: 6`: > > > > 1. Directly on the property; > > 2. In an `else:` case on the current `if: sm6375-dpu` (should have the > > same effect as 1., afaik); > > 3. In a second `if:` case that lists all SoCS explicitly. > > > > Since we don't have this information, I think option 3. is the right way > > to go, setting `maxItems: 6` for qcom,sm6125-dpu. > > > > However, it is not yet understood why downstream is able to use the > > throttle clock without repercussions. > > > >> We talk here about this patch. > > > > We used this patch to discover that other SoCs are similarly > > unconstrained. But if you don't want me to look into it, by all means! > > Saves me a lot of time. So I will go with option 3. > > > > - Marijn
On 26.06.2023 22:28, Marijn Suijten wrote: > On 2023-06-26 20:57:51, Konrad Dybcio wrote: >> On 26.06.2023 19:54, Marijn Suijten wrote: >>> On 2023-06-26 18:16:58, Krzysztof Kozlowski wrote: >>>> On 25/06/2023 21:52, Marijn Suijten wrote: >>>>> On 2023-06-24 11:12:52, Krzysztof Kozlowski wrote: >>>>>> On 24/06/2023 02:41, Marijn Suijten wrote: >>>>>>> SM6125 is identical to SM6375 except that while downstream also defines >>>>>>> a throttle clock, its presence results in timeouts whereas SM6375 >>>>>>> requires it to not observe any timeouts. >>>>>> >>>>>> Then it should not be allowed, so you need either "else:" block or >>>>>> another "if: properties: compatible:" to disallow it. Because in current >>>>>> patch it would be allowed. >>>>> >>>>> That means this binding is wrong/incomplete for all other SoCs then. >>>>> clock(-name)s has 6 items, and sets `minItems: 6`. Only for sm6375-dpu >>> >>> Of course meant to say that clock(-name)s has **7** items, not 6. >>> >>>>> does it set `minItems: 7`, but an else case is missing. >>>> >>>> Ask the author why it is done like this. >>> >>> Konrad, can you clarify why other > > (Looks like I forgot to complete this sentence before sending, > apologies) > >> 6375 needs the throttle clk and the clock(-names) are strongly ordered >> so having minItems: 6 discards the last entry > > The question is whether or not we should have maxItems: 6 to disallow > the clock from being passed: right now it is optional and either is > allowed for any !6375 SoC. That's a very good question. I don't have a 7180 to test, but for you it seems to cause inexplicable issues on 6125.. Konrad > > - Marijn > >> >> Konrad >>> >>>>> Shall I send a Fixes: ed41005f5b7c ("dt-bindings: display/msm: >>>>> sc7180-dpu: Describe SM6350 and SM6375") for that, and should maxItems: >>>>> 6 be the default under clock(-name)s or in an else:? >>>> >>>> There is no bug to fix. Or at least it is not yet known. Whether other >>>> devices should be constrained as well - sure, sounds reasonable, but I >>>> did not check the code exactly. >>> >>> I don't know either, but we need this information to decide whether to >>> use `maxItems: 6`: >>> >>> 1. Directly on the property; >>> 2. In an `else:` case on the current `if: sm6375-dpu` (should have the >>> same effect as 1., afaik); >>> 3. In a second `if:` case that lists all SoCS explicitly. >>> >>> Since we don't have this information, I think option 3. is the right way >>> to go, setting `maxItems: 6` for qcom,sm6125-dpu. >>> >>> However, it is not yet understood why downstream is able to use the >>> throttle clock without repercussions. >>> >>>> We talk here about this patch. >>> >>> We used this patch to discover that other SoCs are similarly >>> unconstrained. But if you don't want me to look into it, by all means! >>> Saves me a lot of time. So I will go with option 3. >>> >>> - Marijn
On 6/26/2023 7:04 AM, Dmitry Baryshkov wrote: > On 24/06/2023 03:41, Marijn Suijten wrote: >> SM6125 is identical to SM6375 except that while downstream also defines >> a throttle clock, its presence results in timeouts whereas SM6375 >> requires it to not observe any timeouts. > > I see that the vendor DTS still references this clock. > > Abhinav, Tanya, do possibly know what can be wrong here? > From display side, we just enable it without any specific vote. Seeing timeouts without it makes sense but not with it. I dont have experience with this family of chipsets and this clock is specific to this family of chipsets. Will reach out to folks who might have a better idea about this clock and update with possible suggestions. Unless ... tanya has more suggestions. >> >> Signed-off-by: Marijn Suijten <marijn.suijten@somainline.org> >> --- >> Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml | >> 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git >> a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml >> b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml >> index 630b11480496..6d2ba9a1cca1 100644 >> --- a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml >> +++ b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml >> @@ -15,6 +15,7 @@ properties: >> compatible: >> enum: >> - qcom,sc7180-dpu >> + - qcom,sm6125-dpu >> - qcom,sm6350-dpu >> - qcom,sm6375-dpu >> >
diff --git a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml index 630b11480496..6d2ba9a1cca1 100644 --- a/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml +++ b/Documentation/devicetree/bindings/display/msm/qcom,sc7180-dpu.yaml @@ -15,6 +15,7 @@ properties: compatible: enum: - qcom,sc7180-dpu + - qcom,sm6125-dpu - qcom,sm6350-dpu - qcom,sm6375-dpu