public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
To: Abel Vesa <abel.vesa@linaro.org>
Cc: Eric Biggers <ebiggers@kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Manivannan Sadhasivam <mani@kernel.org>,
	Alim Akhtar <alim.akhtar@samsung.com>,
	Avri Altman <avri.altman@wdc.com>,
	Bart Van Assche <bvanassche@acm.org>,
	Adrian Hunter <adrian.hunter@intel.com>,
	"James E . J . Bottomley" <jejb@linux.ibm.com>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	linux-mmc@vger.kernel.org, devicetree@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-arm-msm@vger.kernel.org, linux-scsi@vger.kernel.org
Subject: Re: [RFC PATCH v2 7/7] arm64: dts: qcom: Add the Inline Crypto Engine nodes
Date: Fri, 10 Mar 2023 10:27:12 +0100	[thread overview]
Message-ID: <4ea944dd-8a42-e83f-607c-1a36124d19bb@linaro.org> (raw)
In-Reply-To: <ZAr2nlFSKkBBQgcY@linaro.org>

On 10/03/2023 10:21, Abel Vesa wrote:
>>>>>  			compatible = "qcom,sdm630-sdhci", "qcom,sdhci-msm-v5";
>>>>>  			reg = <0x0c0c4000 0x1000>,
>>>>> -			      <0x0c0c5000 0x1000>,
>>>>> -			      <0x0c0c8000 0x8000>;
>>>>> -			reg-names = "hc", "cqhci", "ice";
>>>>> +			      <0x0c0c5000 0x1000>;
>>>>> +			reg-names = "hc", "cqhci";
>>>>
>>>> I believe this will break the ICE on these platforms without valid
>>>> reason. The commit msg does not explain why you do it or why this is
>>>> necessary.
>>>>
>>>> We already we received comment that we keep breaking Qualcomm platforms
>>>> all the time and need to keep them in some shape.
>>>>
>>>> Also, patchset is non-applicable in current set (breaks users) and
>>>> neither commit nor cover letter mentions it.
>>>>
>>>
>>> FWIW, I tested this patchset on SDA845, and ICE continues to work fine.
>>
>> Really? I clearly see of_find_device_by_node -> "return NULL" and all
>> old code gone, so ABI is broken. Are you sure you applied patch 1-6 and
>> ICE was working?
> 
> of_qcom_ice_get will return the ICE instance if the consumer node has a
> qcom,ice property with a phandle for the ICE devicetree node.

When patches 1-6 are applied, there is no qcom,ice property in DTS. Thus
I don't consider the test as correct... Even if we skip entire ABI
discussion the patchset is non-bisectable thus the test was failing to
detect even that.

> It will
> return NULL otherwise. SDA845 has such ICE node added by this patch,
> therefore, it will work. All platforms that have such node will work
> functionally like before. But I'll take care of the legacy approach as
> well in v3 (see below).

At point of patch 6 none of nodes have it. That's the entire point of
bisectability.

What's more, if you reverse code and makes DTS patches before driver
hoping to fix bisectability - do you see ICE working on existing
platforms? I don't think it so...

> 
>>
>>>
>>> (Though if I understand the patchset correctly, the ICE clock is no longer
>>> turned off when the UFS host controller is suspended.  That isn't ideal as it
>>> wastes power.  I would like that to be fixed.)
>>>
>>> Anyway, when you say "break the ICE", do you really mean "make an incompatible
>>> change to the device-tree bindings"?
>>
>> It breaks existing users of DTS and kernel.
> 
> I assume you mean it breaks if someone is using old approach DTS with a
> kernel that would have ICE driver merged. Yes, that it does. And for
> that, in the v3, I'll make of_qcom_ice_get check if there is a reg entry
> with name "ice" and create an ICE instance but for the same dev as the
> consumer driver. OTOH, if there is no reg entry called "ice", it will
> look up a device based on phande of qcom,ice property. This will allow
> legacy style DTS to work fine, while using the unified driver as a
> library, in that case. For newer platforms, the recommended approach
> will be to add a new ICE node and use qcom,ice property.

For the driver this sounds good. I still think that existing (older) DTS
should not have regs removed, because this affects other users of kernel
DTS.


Best regards,
Krzysztof


  reply	other threads:[~2023-03-10  9:30 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-08 15:58 [RFC PATCH v2 0/7] Add dedicated Qcom ICE driver Abel Vesa
2023-03-08 15:58 ` [RFC PATCH v2 1/7] dt-bindings: soc: qcom: Add schema for Inline Crypto Engine Abel Vesa
2023-03-09 10:25   ` Krzysztof Kozlowski
2023-03-08 15:58 ` [RFC PATCH v2 2/7] dt-bindings: ufs: qcom: Add ICE phandle and drop core clock Abel Vesa
2023-03-09 10:26   ` Krzysztof Kozlowski
2023-03-08 15:58 ` [RFC PATCH v2 3/7] dt-bindings: mmc: sdhci-msm: " Abel Vesa
2023-03-09 10:27   ` Krzysztof Kozlowski
2023-03-08 15:58 ` [RFC PATCH v2 4/7] soc: qcom: Make the Qualcomm UFS/SDCC ICE a dedicated driver Abel Vesa
2023-03-08 20:01   ` Eric Biggers
2023-03-08 21:44     ` Abel Vesa
2023-03-08 23:10       ` Eric Biggers
2023-03-08 15:58 ` [RFC PATCH v2 5/7] scsi: ufs: ufs-qcom: Switch to the new ICE API Abel Vesa
2023-03-08 15:58 ` [RFC PATCH v2 6/7] mmc: sdhci-msm: " Abel Vesa
2023-03-10 12:45   ` Adrian Hunter
2023-03-08 15:58 ` [RFC PATCH v2 7/7] arm64: dts: qcom: Add the Inline Crypto Engine nodes Abel Vesa
2023-03-09 10:31   ` Krzysztof Kozlowski
2023-03-09 18:31     ` Eric Biggers
2023-03-10  8:13       ` Krzysztof Kozlowski
2023-03-10  9:21         ` Abel Vesa
2023-03-10  9:27           ` Krzysztof Kozlowski [this message]
2023-03-10  9:34             ` Abel Vesa
2023-03-10  9:37               ` Krzysztof Kozlowski
2023-03-10  9:42                 ` Abel Vesa
2023-03-10 20:00         ` Eric Biggers
2023-03-08 20:03 ` [RFC PATCH v2 0/7] Add dedicated Qcom ICE driver Eric Biggers
2023-03-08 21:55   ` Abel Vesa

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=4ea944dd-8a42-e83f-607c-1a36124d19bb@linaro.org \
    --to=krzysztof.kozlowski@linaro.org \
    --cc=abel.vesa@linaro.org \
    --cc=adrian.hunter@intel.com \
    --cc=agross@kernel.org \
    --cc=alim.akhtar@samsung.com \
    --cc=andersson@kernel.org \
    --cc=avri.altman@wdc.com \
    --cc=bvanassche@acm.org \
    --cc=devicetree@vger.kernel.org \
    --cc=ebiggers@kernel.org \
    --cc=jejb@linux.ibm.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mani@kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=robh+dt@kernel.org \
    --cc=ulf.hansson@linaro.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox