[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <88fd2f42-6f20-7bbe-1a4d-1f482c153f07@linaro.org>
Date: Tue, 15 Nov 2022 08:59:48 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Alex Elder <elder@...e.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 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.
Best regards,
Krzysztof
Powered by blists - more mailing lists