[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <48fbae83-728e-d7ec-7516-4f8c972a1a1d@ieee.org>
Date: Tue, 15 Nov 2022 03:00:31 -0600
From: Alex Elder <elder@...e.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Alex Elder <elder@...aro.org>, robh+dt@...nel.org,
krzysztof.kozlowski+dt@...aro.org, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com
Cc: andersson@...nel.org, konrad.dybcio@...aro.org, agross@...nel.org,
elder@...nel.org, linux-arm-msm@...r.kernel.org,
netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 1/5] dt-bindings: net: qcom,ipa: deprecate
modem-init
On 11/15/22 01:59, Krzysztof Kozlowski wrote:
> On 14/11/2022 18:48, Alex Elder wrote:
>> On 11/14/22 03:56, Krzysztof Kozlowski wrote:
>>> On 12/11/2022 21:07, Alex Elder wrote:
>>>> GSI firmware for IPA must be loaded during initialization, either by
>>>> the AP or by the modem. The loader is currently specified based on
>>>> whether the Boolean modem-init property is present.
>>>>
>>>> Instead, use a new property with an enumerated value to indicate
>>>> explicitly how GSI firmware gets loaded. With this in place, a
>>>> third approach can be added in an upcoming patch.
>>>>
>>>> The new qcom,gsi-loader property has two defined values:
>>>> - self: The AP loads GSI firmware
>>>> - modem: The modem loads GSI firmware
>>>> The modem-init property must still be supported, but is now marked
>>>> deprecated.
>>>>
>>>> Signed-off-by: Alex Elder <elder@...aro.org>
>>>> ---
>>>> .../devicetree/bindings/net/qcom,ipa.yaml | 59 +++++++++++++++----
>>>> 1 file changed, 46 insertions(+), 13 deletions(-)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/net/qcom,ipa.yaml b/Documentation/devicetree/bindings/net/qcom,ipa.yaml
>>>> index e752b76192df0..0dfd6c721e045 100644
>>>> --- a/Documentation/devicetree/bindings/net/qcom,ipa.yaml
>>>> +++ b/Documentation/devicetree/bindings/net/qcom,ipa.yaml
>>>> @@ -124,12 +124,22 @@ properties:
>>>> - const: ipa-clock-enabled-valid
>>>> - const: ipa-clock-enabled
>>>>
>>>> + qcom,gsi-loader:
>>>> + enum:
>>>> + - self
>>>> + - modem
>>>> + description:
>>>> + This indicates how GSI firmware should be loaded. If the AP loads
>>>
>>> s/This indicates/Indicate/
>>> (or any other grammar without describing DT syntax but hardware/system)
>>
>> OK.
>>
>>>> + and validates GSI firmware, this property has value "self". If the
>>>> + modem does this, this property has value "modem".
>>>> +
>>>> modem-init:
>>>> + deprecated: true
>>>> type: boolean
>>>> description:
>>>> - If present, it indicates that the modem is responsible for
>>>> - performing early IPA initialization, including loading and
>>>> - validating firwmare used by the GSI.
>>>> + This is the older (deprecated) way of indicating how GSI firmware
>>>> + should be loaded. If present, the modem loads GSI firmware; if
>>>> + absent, the AP loads GSI firmware.
>>>>
>>>> memory-region:
>>>> maxItems: 1
>>>> @@ -155,15 +165,36 @@ required:
>>>> - interconnects
>>>> - qcom,smem-states
>>>>
>>>> -# If modem-init is not present, the AP loads GSI firmware, and
>>>> -# memory-region must be specified
>>>> -if:
>>>> - not:
>>>> - required:
>>>> - - modem-init
>>>> -then:
>>>> - required:
>>>> - - memory-region
>>>> +allOf:
>>>> + # If qcom,gsi-loader is present, modem-init must not be present
>>>> + - if:
>>>> + required:
>>>> + - qcom,gsi-loader
>>>> + then:
>>>> + properties:
>>>> + modem-init: false
>>>
>>> This is ok, but will not allow you to keep deprecated property in DTS
>>> for the transition period. We talked about this that you need to keep
>>> both or wait few cycles before applying DTS cleanups.
>>
>> My intention is expressed in the comment. Is it because of the
>> "if .... required ... qcom,gsi-loader"?
>>
>> Should it be "if ... properties ... qcom,gsi-loader"?
>
> You disallow modem-init here, so it cannot be present in DTS if
> gsi-loader is present. Therefore the deprecated case like this:
> qcom,gsi-loader = "modem"
> modem-init;
> is not allowed by the schema.
>
> As I said, it is fine, but your DTS should wait a cycle.
OK, then this is exactly as I intended. I am planning to wait
until Linux v6.2-rc1 is published before I post the DTS updates
that implement this change. It is not technically necessary
until IPA v5.0 is fully supported, and I don't have confidence
all of that will accepted before then.
If I did it "your way" first I could get it done now, but then
I'd want to do another round later to make it this way.
I will still send an updated series shortly, to address your
other comment about wording in the description. But I will
not be changing this part.
Thanks for the explanation Krzysztof.
-Alex
>
>
> Best regards,
> Krzysztof
>
Powered by blists - more mailing lists