From: Alex Elder <elder@ieee.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
Alex Elder <elder@linaro.org>,
robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com
Cc: andersson@kernel.org, konrad.dybcio@linaro.org,
agross@kernel.org, elder@kernel.org,
linux-arm-msm@vger.kernel.org, netdev@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next 1/5] dt-bindings: net: qcom,ipa: deprecate modem-init
Date: Mon, 14 Nov 2022 11:48:17 -0600 [thread overview]
Message-ID: <2f827660-ae9d-01dd-ded8-7fd4c2f8f8ae@ieee.org> (raw)
In-Reply-To: <de98dbb4-afb5-de05-1e75-2959aa720333@linaro.org>
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@linaro.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"?
I believe I tested the deprecated cases also, but will do it again.
If I coded it wrong I'd like to fix it (even if "it works").
>> +
>> + # If qcom,gsi-loader is "self", the AP loads GSI firmware, and
>> + # memory-region must be specified
>> + if:
>> + properties:
>> + qcom,gsi-loader:
>> + contains:
>> + const: self
>> + then:
>> + required:
>> + - memory-region
>> + else:
>> + # If qcom,gsi-loader is not present, we use deprecated behavior.
>> + # 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
>>
>> additionalProperties: false
>>
>> @@ -196,7 +227,9 @@ examples:
>> ipa@1e40000 {
>> compatible = "qcom,sdm845-ipa";
>>
>> - modem-init;
>> + qcom,gsi-loader = "self";
>> + memory-region = <&ipa_fw_mem>;
>> + firmware-name = "qcom/sc7180-trogdor/modem-nolte/mba.mbn";
>
> Isn't this example based on sdm845?
Yes, you're right. I'll update it. I just wanted to supply an
example that actually showed using all these properties. I'll
make the whole example be for sc7180.
Thank you.
-Alex
>
>>
>> iommus = <&apps_smmu 0x720 0x3>;
>> reg = <0x1e40000 0x7000>,
>
> Best regards,
> Krzysztof
>
next prev parent reply other threads:[~2022-11-14 17:48 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-12 20:07 [PATCH net-next 0/5] net: ipa: change GSI firmware load specification Alex Elder
2022-11-12 20:07 ` [PATCH net-next 1/5] dt-bindings: net: qcom,ipa: deprecate modem-init Alex Elder
2022-11-14 9:56 ` Krzysztof Kozlowski
2022-11-14 17:48 ` Alex Elder [this message]
2022-11-15 7:59 ` Krzysztof Kozlowski
2022-11-15 9:00 ` Alex Elder
2022-11-12 20:07 ` [PATCH net-next 2/5] net: ipa: encapsulate decision about firmware load Alex Elder
2022-11-12 20:07 ` [PATCH net-next 3/5] net: ipa: introduce "qcom,gsi-loader" property Alex Elder
2022-11-12 20:07 ` [PATCH net-next 4/5] dt-bindings: net: qcom,ipa: support skipping GSI firmware load Alex Elder
2022-11-14 9:56 ` Krzysztof Kozlowski
2022-11-12 20:07 ` [PATCH net-next 5/5] net: ipa: permit GSI firmware loading to be skipped Alex Elder
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=2f827660-ae9d-01dd-ded8-7fd4c2f8f8ae@ieee.org \
--to=elder@ieee.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=elder@kernel.org \
--cc=elder@linaro.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=kuba@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robh+dt@kernel.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
all inboxes | Powered by JetHome®