Re: [PATCH 2/2] arm64: dts: qcom: use qcom,gsi-loader for IPA

From: Konrad Dybcio
Date: Sat Dec 31 2022 - 06:53:38 EST




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 {