diff mbox series

arm64: dts: qcom: sdm850-yoga: Enable IPA

Message ID 20210615232816.835325-1-bjorn.andersson@linaro.org
State Accepted
Commit 2e01e0c2145998ad0b2dfa4a990cc55436194099
Headers show
Series arm64: dts: qcom: sdm850-yoga: Enable IPA | expand

Commit Message

Bjorn Andersson June 15, 2021, 11:28 p.m. UTC
Shuffle memory regions to make firmware loading succeed and then enable
the ipa device.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

---
 arch/arm64/boot/dts/qcom/sdm845.dtsi          | 21 +++++++------------
 .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts |  5 +++++
 2 files changed, 13 insertions(+), 13 deletions(-)

-- 
2.31.0

Comments

Steev Klimaszewski July 25, 2021, 6:55 a.m. UTC | #1
On 6/15/21 6:28 PM, Bjorn Andersson wrote:
> Shuffle memory regions to make firmware loading succeed and then enable

> the ipa device.

>

> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

> ---

>  arch/arm64/boot/dts/qcom/sdm845.dtsi          | 21 +++++++------------

>  .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts |  5 +++++

>  2 files changed, 13 insertions(+), 13 deletions(-)

>

> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi

> index 1796ae8372be..49624eadce84 100644

> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi

> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi

> @@ -128,28 +128,23 @@ camera_mem: memory@8bf00000 {

>  			no-map;

>  		};

>  

> -		ipa_fw_mem: memory@8c400000 {

> -			reg = <0 0x8c400000 0 0x10000>;

> +		wlan_msa_mem: memory@8c400000 {

> +			reg = <0 0x8c400000 0 0x100000>;

>  			no-map;

>  		};

>  

> -		ipa_gsi_mem: memory@8c410000 {

> -			reg = <0 0x8c410000 0 0x5000>;

> +		gpu_mem: memory@8c515000 {

> +			reg = <0 0x8c515000 0 0x2000>;

>  			no-map;

>  		};

>  

> -		gpu_mem: memory@8c415000 {

> -			reg = <0 0x8c415000 0 0x2000>;

> +		ipa_fw_mem: memory@8c517000 {

> +			reg = <0 0x8c517000 0 0x5a000>;

>  			no-map;

>  		};

>  

> -		adsp_mem: memory@8c500000 {

> -			reg = <0 0x8c500000 0 0x1a00000>;

> -			no-map;

> -		};

> -

> -		wlan_msa_mem: memory@8df00000 {

> -			reg = <0 0x8df00000 0 0x100000>;

> +		adsp_mem: memory@8c600000 {

> +			reg = <0 0x8c600000 0 0x1a00000>;

>  			no-map;

>  		};

>  

> 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 c2a709a384e9..3eaa42dc3794 100644

> --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts

> +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts

> @@ -415,6 +415,11 @@ ecsh: hid@5c {

>  	};

>  };

>  

> +&ipa {

> +	status = "okay";

> +	memory-region = <&ipa_fw_mem>;

> +};

> +

>  &mdss {

>  	status = "okay";

>  };



Hi,

Thank you for this!

Tested - one thing that end users/distro packagers may need to be aware
of, if the module is loaded in an initramfs, the firmware file also
needs to be loaded in the initramfs.  If the module is in an initramfs
and the firmware is not, the module will need to be removed and
re-inserted for the device to come up.

Tested-by: Steev Klimaszewski <steev@kali.org>
Amit Pundir Sept. 16, 2021, 10:52 a.m. UTC | #2
Hi Bjorn,

On Wed, 16 Jun 2021 at 04:58, Bjorn Andersson
<bjorn.andersson@linaro.org> wrote:
>

> Shuffle memory regions to make firmware loading succeed and then enable

> the ipa device.


Just a heads-up, this reserved memory region shuffling in sdm845.dtsi
broke PocoF1 and may be other devices too(?) which do not override
these regions.

IIRC you once had a patch to move the reserved memory regions to board
specific dts files, is it still on the cards so that we don't run into
breakages like this?

Meanwhile I'll go and add these regions in sdm845-xiaomi-beryllium.dts.

Regards,
Amit Pundir



>

> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>

> ---

>  arch/arm64/boot/dts/qcom/sdm845.dtsi          | 21 +++++++------------

>  .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts |  5 +++++

>  2 files changed, 13 insertions(+), 13 deletions(-)

>

> diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi

> index 1796ae8372be..49624eadce84 100644

> --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi

> +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi

> @@ -128,28 +128,23 @@ camera_mem: memory@8bf00000 {

>                         no-map;

>                 };

>

> -               ipa_fw_mem: memory@8c400000 {

> -                       reg = <0 0x8c400000 0 0x10000>;

> +               wlan_msa_mem: memory@8c400000 {

> +                       reg = <0 0x8c400000 0 0x100000>;

>                         no-map;

>                 };

>

> -               ipa_gsi_mem: memory@8c410000 {

> -                       reg = <0 0x8c410000 0 0x5000>;

> +               gpu_mem: memory@8c515000 {

> +                       reg = <0 0x8c515000 0 0x2000>;

>                         no-map;

>                 };

>

> -               gpu_mem: memory@8c415000 {

> -                       reg = <0 0x8c415000 0 0x2000>;

> +               ipa_fw_mem: memory@8c517000 {

> +                       reg = <0 0x8c517000 0 0x5a000>;

>                         no-map;

>                 };

>

> -               adsp_mem: memory@8c500000 {

> -                       reg = <0 0x8c500000 0 0x1a00000>;

> -                       no-map;

> -               };

> -

> -               wlan_msa_mem: memory@8df00000 {

> -                       reg = <0 0x8df00000 0 0x100000>;

> +               adsp_mem: memory@8c600000 {

> +                       reg = <0 0x8c600000 0 0x1a00000>;

>                         no-map;

>                 };

>

> 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 c2a709a384e9..3eaa42dc3794 100644

> --- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts

> +++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts

> @@ -415,6 +415,11 @@ ecsh: hid@5c {

>         };

>  };

>

> +&ipa {

> +       status = "okay";

> +       memory-region = <&ipa_fw_mem>;

> +};

> +

>  &mdss {

>         status = "okay";

>  };

> --

> 2.31.0

>
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi
index 1796ae8372be..49624eadce84 100644
--- a/arch/arm64/boot/dts/qcom/sdm845.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi
@@ -128,28 +128,23 @@  camera_mem: memory@8bf00000 {
 			no-map;
 		};
 
-		ipa_fw_mem: memory@8c400000 {
-			reg = <0 0x8c400000 0 0x10000>;
+		wlan_msa_mem: memory@8c400000 {
+			reg = <0 0x8c400000 0 0x100000>;
 			no-map;
 		};
 
-		ipa_gsi_mem: memory@8c410000 {
-			reg = <0 0x8c410000 0 0x5000>;
+		gpu_mem: memory@8c515000 {
+			reg = <0 0x8c515000 0 0x2000>;
 			no-map;
 		};
 
-		gpu_mem: memory@8c415000 {
-			reg = <0 0x8c415000 0 0x2000>;
+		ipa_fw_mem: memory@8c517000 {
+			reg = <0 0x8c517000 0 0x5a000>;
 			no-map;
 		};
 
-		adsp_mem: memory@8c500000 {
-			reg = <0 0x8c500000 0 0x1a00000>;
-			no-map;
-		};
-
-		wlan_msa_mem: memory@8df00000 {
-			reg = <0 0x8df00000 0 0x100000>;
+		adsp_mem: memory@8c600000 {
+			reg = <0 0x8c600000 0 0x1a00000>;
 			no-map;
 		};
 
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 c2a709a384e9..3eaa42dc3794 100644
--- a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
+++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
@@ -415,6 +415,11 @@  ecsh: hid@5c {
 	};
 };
 
+&ipa {
+	status = "okay";
+	memory-region = <&ipa_fw_mem>;
+};
+
 &mdss {
 	status = "okay";
 };