All of lore.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: 28+ 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 20:50   ` kernel test robot
2023-03-08 15:58 ` [RFC PATCH v2 5/7] scsi: ufs: ufs-qcom: Switch to the new ICE API Abel Vesa
2023-03-09  9:10   ` kernel test robot
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 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.