On 31.12.2022 01:27, Alex Elder wrote: > Depending on the platform, either the modem or the AP must load GSI > firmware for IPA before it can be used. To date, this has been > indicated by the presence or absence of a "modem-init" property. > > That mechanism has been deprecated. Instead, we indicate how GSI > firmware should be loaded by the value of the "qcom,gsi-loader" > property. > > Update all arm64 platforms that use IPA to use the "qcom,gsi-loader" > property to specify how the GSI firmware is loaded. > > Update the affected nodes so the status property is last. > > Signed-off-by: Alex Elder <elder@xxxxxxxxxx> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> Konrad > arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi | 5 ++--- > arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 2 +- > arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi | 2 +- > arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi | 2 +- > arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi | 2 +- > arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 3 ++- > arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi | 4 ++-- > arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts | 4 ++-- > arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi | 3 ++- > arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts | 1 + > arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 3 ++- > arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts | 3 ++- > arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts | 4 ++-- > arch/arm64/boot/dts/qcom/sm8350-mtp.dts | 4 ++-- > arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi | 3 ++- > 15 files changed, 25 insertions(+), 20 deletions(-) > > diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi > index fd4b712037542..bffcbd141bd7c 100644 > --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-lte-sku.dtsi > @@ -19,12 +19,11 @@ &remoteproc_mpss { > }; > > &ipa { > - status = "okay"; > - > /* > * Trogdor doesn't have QHEE (Qualcomm's EL2 blob), so the > * modem needs to cover certain init steps (GSI init), and > * the AP needs to wait for it. > */ > - modem-init; > + qcom,gsi-loader = "modem"; > + status = "okay"; > }; > diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi > index f7efb9966afd1..5ad97cd5f1b75 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi > @@ -377,8 +377,8 @@ &gpi_dma1 { > }; > > &ipa { > + qcom,gsi-loader = "modem"; > status = "okay"; > - modem-init; > }; > > &lpass_cpu { > diff --git a/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi b/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi > index df49564ae6dc1..6d80c64097e97 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7280-qcard.dtsi > @@ -337,8 +337,8 @@ vreg_bob: bob { > /* ADDITIONS TO NODES DEFINED IN PARENT DEVICE TREE FILES */ > > &ipa { > + qcom,gsi-loader = "modem"; > status = "okay"; > - modem-init; > }; > > &lpass_va_macro { > diff --git a/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi b/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi > index ca676e04687b0..c194a88f91fd1 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi > @@ -756,8 +756,8 @@ &gpu { > }; > > &ipa { > + qcom,gsi-loader = "modem"; > status = "okay"; > - modem-init; > }; > > &lpasscc { > diff --git a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi > index 1eb423e4be24c..b62beffc27bf7 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi > @@ -474,8 +474,8 @@ zap-shader { > }; > > &ipa { > + qcom,gsi-loader = "modem"; > status = "okay"; > - modem-init; > }; > > &mss_pil { > diff --git a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts > index de2d10e0315af..f5a186fd7c72b 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts > @@ -518,8 +518,9 @@ &i2c10 { > }; > > &ipa { > - status = "okay"; > + qcom,gsi-loader = "self"; > memory-region = <&ipa_fw_mem>; > + status = "okay"; > }; > > &mdss { > diff --git a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi > index 42cf4dd5ea284..d8a601d36c6df 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi > @@ -424,10 +424,10 @@ rmi4_f12: rmi4-f12@12 { > }; > > &ipa { > - status = "okay"; > - > + qcom,gsi-loader = "self"; > memory-region = <&ipa_fw_mem>; > firmware-name = "qcom/sdm845/oneplus6/ipa_fws.mbn"; > + status = "okay"; > }; > > &mdss { > diff --git a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > index bb77ccfdc68c0..fcd401f460456 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts > @@ -495,10 +495,10 @@ touchscreen@38 { > }; > > &ipa { > - status = "okay"; > - > + qcom,gsi-loader = "self"; > memory-region = <&ipa_fw_mem>; > firmware-name = "qcom/sdm845/axolotl/ipa_fws.mbn"; > + status = "okay"; > }; > > &mdss { > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > index eb6b2b676eca4..d6b11d56ebb37 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium-common.dtsi > @@ -299,9 +299,10 @@ &mss_pil { > }; > > &ipa { > - status = "okay"; > + qcom,gsi-loader = "self"; > memory-region = <&ipa_fw_mem>; > firmware-name = "qcom/sdm845/beryllium/ipa_fws.mbn"; > + status = "okay"; > }; > > &pm8998_gpio { > diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > index 38ba809a95cd6..9ca4682aea1b2 100644 > --- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > +++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts > @@ -449,6 +449,7 @@ &ibb { > }; > > &ipa { > + qcom,gsi-loader = "self"; > memory-region = <&ipa_fw_mem>; > firmware-name = "qcom/sdm845/polaris/ipa_fws.mbn"; > status = "okay"; > diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > index f32b7445f7c96..15da94808b21d 100644 > --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts > @@ -465,8 +465,9 @@ ecsh: hid@5c { > }; > > &ipa { > - status = "okay"; > + qcom,gsi-loader = "self"; > memory-region = <&ipa_fw_mem>; > + status = "okay"; > }; > > &mdss { > diff --git a/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts b/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > index daca1e0ad62ad..15f6059b75757 100644 > --- a/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > +++ b/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts > @@ -383,9 +383,10 @@ digitizer@9 { > }; > > &ipa { > - status = "okay"; > + qcom,gsi-loader = "self"; > memory-region = <&ipa_fw_mem>; > firmware-name = "qcom/sdm850/samsung/w737/ipa_fws.elf"; > + status = "okay"; > }; > > /* No idea why it causes an SError when enabled */ > diff --git a/arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts b/arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts > index 9c4cfd995ff29..00f16cde6c4ac 100644 > --- a/arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts > +++ b/arch/arm64/boot/dts/qcom/sm8350-microsoft-surface-duo2.dts > @@ -290,9 +290,9 @@ &i2c11 { > }; > > &ipa { > - status = "okay"; > - > + qcom,gsi-loader = "self"; > memory-region = <&pil_ipa_fw_mem>; > + status = "okay"; > }; > > &mpss { > diff --git a/arch/arm64/boot/dts/qcom/sm8350-mtp.dts b/arch/arm64/boot/dts/qcom/sm8350-mtp.dts > index 52cf3045602f9..f70e0de0509c5 100644 > --- a/arch/arm64/boot/dts/qcom/sm8350-mtp.dts > +++ b/arch/arm64/boot/dts/qcom/sm8350-mtp.dts > @@ -376,7 +376,7 @@ &usb_2_qmpphy { > }; > > &ipa { > - status = "okay"; > - > + qcom,gsi-loader = "self"; > memory-region = <&pil_ipa_fw_mem>; > + status = "okay"; > }; > diff --git a/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi b/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi > index 1f2d660f8f86c..d00e8d922ceeb 100644 > --- a/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi > +++ b/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi > @@ -524,9 +524,10 @@ &i2c17 { > }; > > &ipa { > - status = "okay"; > + qcom,gsi-loader = "self"; > memory-region = <&pil_ipa_fw_mem>; > firmware-name = "qcom/sm8350/Sony/sagami/ipa_fws.mbn"; > + status = "okay"; > }; > > &mpss {