All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	Thara Gopinath <thara.gopinath@gmail.com>,
	Bhupesh Sharma <bhupesh.sharma@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Andy Gross <agross@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-crypto@vger.kernel.org,
	Neil Armstrong <neil.armstrong@linaro.org>
Subject: Re: [PATCH v8 5/9] dt-bindings: qcom-qce: document clocks and clock-names as optional
Date: Fri, 3 Feb 2023 10:26:33 +0200	[thread overview]
Message-ID: <43c7cf3f-f463-90da-23f9-f6b76d9f729f@linaro.org> (raw)
In-Reply-To: <ad8812e6-7dc2-5575-c44d-3f4f62aeb9e9@linaro.org>

Hi Krzysztof,

On 2/3/23 10:17, Krzysztof Kozlowski wrote:
> On 02/02/2023 23:27, Vladimir Zapolskiy wrote:
>> Hi Krzysztof,
>>
>> On 2/2/23 15:53, Krzysztof Kozlowski wrote:
>>> On 02/02/2023 14:50, Vladimir Zapolskiy wrote:
>>>> From: Neil Armstrong <neil.armstrong@linaro.org>
>>>>
>>>> On certain Snapdragon processors, the crypto engine clocks are enabled by
>>>> default by security firmware.
>>>
>>> Then probably we should not require them only on these variants.
>>
>> the rationale is clear, but here comes a minor problem, older platforms
>> require clocks, when newer ones do not. When a generic SoC-specific compatible
>> is introduced, let say "qcom,ipq4019-qce", it itself requires the clocks,
>> but then newer platforms can not be based on this particular compatible,
>> otherwise they will require clocks and this comes as invalid.
>>
>> How to resolve it properly, shall there be another generic SoC-specific
>> compatible without clocks and NOT based on that "qcom,ipq4019-qce" compatible?
>>
>> By the way, QCE on SM8150 also shall not need the clocks.
> 
> Assuming you have:
> 1. ipq4019 requiring clocks
> 2. msm8996 compatible with ipq4019, requiring clocks
> 3. ipq6018 compatible with ipq4019, not requiring clocks
> 
> allOf:
>    - if:
>        properties:
>          compatible:
>            enum:
>               - ipq4019-qce
>      then:
>        required:
>          - clocks
> 
>    - if:
>        properties:
>          compatible:
>            contains:
>              enum:
>                 - msm8996-qce
>      then:
>        required:
>          - clocks
> 
> That's not pretty.
> 
> Another solution is to make non-clock-requiring variants as their own
> family:
> 
> 1. msm8996-qce, ipq4019-qce
> 2. sm8550-qce, sm8150-qce
> 
> and then in the driver you need two entries - ipq4019 and sm8150.
> 
> I like the latter, because for clock-requiring variants your driver
> should actually get them and require. For non-clock-requiring variants,
> you just skip the clocks (do not fail). Therefore you need different
> driver data for these two families.

many thanks for the detailed explanation, the first of two solutions will
be even more clumsy and convoluted, since there should be lists split into
two baskets.

Thus I will go with the second variant and add two family compatibles.

--
Best wishes,
Vladimir

  reply	other threads:[~2023-02-03  8:27 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02 13:50 [PATCH v8 0/9] crypto: qcom-qce: Add YAML bindings & support for newer SoCs Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 1/9] dt-bindings: qcom-qce: Convert bindings to yaml Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 2/9] MAINTAINERS: Add qcom-qce dt-binding file to QUALCOMM CRYPTO DRIVERS section Vladimir Zapolskiy
2023-02-06 21:07   ` Bjorn Andersson
2023-02-02 13:50 ` [PATCH v8 3/9] dt-bindings: qcom-qce: Add 'interconnects' and 'interconnect-names' Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 4/9] dt-bindings: qcom-qce: Add 'iommus' to optional properties Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 5/9] dt-bindings: qcom-qce: document clocks and clock-names as optional Vladimir Zapolskiy
2023-02-02 13:53   ` Krzysztof Kozlowski
2023-02-02 14:04     ` Vladimir Zapolskiy
2023-02-02 14:21       ` Neil Armstrong
2023-02-02 14:23         ` Krzysztof Kozlowski
2023-02-02 16:16         ` Vladimir Zapolskiy
2023-02-02 16:32           ` Neil Armstrong
2023-02-06 23:45           ` Dmitry Baryshkov
2023-02-10 11:12             ` Vladimir Zapolskiy
2023-02-10 12:03               ` Krzysztof Kozlowski
2023-02-02 22:27     ` Vladimir Zapolskiy
2023-02-03  8:17       ` Krzysztof Kozlowski
2023-02-03  8:26         ` Vladimir Zapolskiy [this message]
2023-02-02 13:50 ` [PATCH v8 6/9] dt-bindings: qcom-qce: Add new SoC compatible strings for qcom-qce Vladimir Zapolskiy
2023-02-02 13:57   ` Krzysztof Kozlowski
2023-02-02 14:09     ` Vladimir Zapolskiy
2023-02-02 14:18       ` Krzysztof Kozlowski
2023-02-02 13:50 ` [PATCH v8 7/9] crypto: qce: core: Add support to initialize interconnect path Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 8/9] crypto: qce: core: Make clocks optional Vladimir Zapolskiy
2023-02-02 13:50 ` [PATCH v8 9/9] crypto: qce: core: Add new compatibles for qce crypto driver Vladimir Zapolskiy
2023-02-02 14:01   ` Krzysztof Kozlowski
2023-02-02 14:15     ` Vladimir Zapolskiy
2023-02-02 14:20       ` Krzysztof Kozlowski
2023-02-03  9:19         ` Neil Armstrong
2023-02-03  9:20           ` Krzysztof Kozlowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=43c7cf3f-f463-90da-23f9-f6b76d9f729f@linaro.org \
    --to=vladimir.zapolskiy@linaro.org \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=bhupesh.sharma@linaro.org \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=robh+dt@kernel.org \
    --cc=thara.gopinath@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.