Re: [PATCH] arm64: dts: qcom: sdm850-yoga: Enable IPA

From: Steev Klimaszewski
Date: Sun Jul 25 2021 - 02:55:47 EST



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@xxxxxxxxxx>
> ---
> 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@xxxxxxxx>