diff mbox series

[v2,1/1] arm64: dts: qcom: msm8994-angler: Fix cont_splash_mem

Message ID 20210622181056.27632-1-petr.vorel@gmail.com (mailing list archive)
State Superseded
Headers show
Series [v2,1/1] arm64: dts: qcom: msm8994-angler: Fix cont_splash_mem | expand

Commit Message

Petr Vorel June 22, 2021, 6:10 p.m. UTC
As the default definition breaks booting angler:

[    1.862561] printk: console [ttyMSM0] enabled
[    1.872260] msm_serial: driver initialized
D -     15524 - pm_driver_init, Delta

cont_splash_mem was introduced in 74d6d0a145835, but the problem
manifested after 86588296acbf ("fdt: Properly handle "no-map" field
in the memory region").

Using new definition from downstream kernel:
[    0.000000] cma: Found cont_splash_mem@0, memory base 0x0000000000000000, size 16 MiB, limit 0x0000000000000000
[    0.000000] cma: CMA: reserved 16 MiB at 0x0000000000000000 for cont_splash_mem

Fixes: 74d6d0a145835 ("arm64: dts: qcom: msm8994/8994-kitakami: Fix up
the memory map")

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
Changes v1->v2:
* redefine address instead of deleting it (as suggested by Konrad)

Kind regards,
Petr

[1] https://wiki.postmarketos.org/wiki/Google_Nexus_5X_(lg-bullhead)

 arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Konrad Dybcio June 22, 2021, 6:29 p.m. UTC | #1
Ah yes, I think I know the issue..


Angler's firmware (probably Huawei's job, but unsure) seems to make IOMMUs (another guesstimate)
not report where the memory is allocated. If it's an issue only on these boards, I reckon
it would be better to just add


"/delete-node/ &cont_splash_mem;"


in angler/bullhead DTSI, as other 8992/4 devices seem to not have this issue. But as I've said, bullhead could

probably work anyway, but if it doesn't, it's probably Google's job after all..


P.S
I did not suggest redefining the node, as the memory@0 is reserved for SoC registers
and your firmware is just playing tricks on you. Your RAM starts @ 0x80000000.


Konrad
Petr Vorel June 22, 2021, 6:43 p.m. UTC | #2
Hi Konrad,

> Ah yes, I think I know the issue..


> Angler's firmware (probably Huawei's job, but unsure) seems to make IOMMUs (another guesstimate)
> not report where the memory is allocated. If it's an issue only on these boards, I reckon
> it would be better to just add


> "/delete-node/ &cont_splash_mem;"
Makes sense, I'll send v3. I didn't know proper syntax, that's why used
memory@3800000 instead of alias.

> in angler/bullhead DTSI, as other 8992/4 devices seem to not have this issue. But as I've said, bullhead could

> probably work anyway, but if it doesn't, it's probably Google's job after all..
Although bullhead is from LG, it might be affected as well.
Hope somebody with this device test it and send patch if needed.


> P.S
> I did not suggest redefining the node, as the memory@0 is reserved for SoC registers
> and your firmware is just playing tricks on you. Your RAM starts @ 0x80000000.
Thanks for an explanation.

> Konrad

Kind regards,
Petr
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
index ffe1a9bd8f70..4f8a5f5cbbaa 100644
--- a/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
+++ b/arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts
@@ -1,6 +1,7 @@ 
 // SPDX-License-Identifier: GPL-2.0-only
 /* Copyright (c) 2015, Huawei Inc. All rights reserved.
  * Copyright (c) 2016, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021, Petr Vorel <petr.vorel@gmail.com>
  */
 
 /dts-v1/;
@@ -31,6 +32,15 @@  serial@f991e000 {
 			pinctrl-1 = <&blsp1_uart2_sleep>;
 		};
 	};
+
+	reserved-memory {
+		/delete-node/ memory@3800000;
+
+		cont_splash_mem: memory@0 {
+			reg = <0 0 0 0x1600000>;
+			no-map;
+		};
+	};
 };
 
 &tlmm {