diff mbox series

[8/9] arm64: dts: qcom: msm8916/39: Move mpss_mem size to boards

Message ID 20230911-msm8916-rmem-v1-8-b7089ec3e3a1@gerhold.net
State Accepted
Commit 35efa1be51bd6db067d7380b34538b17b9f250a8
Headers show
Series arm64: dts: qcom: msm8916/39: Reserve firmware memory dynamically | expand

Commit Message

Stephan Gerhold Sept. 11, 2023, 5:41 p.m. UTC
The modem firmware size is typically highly device-specific.
The current size of the mpss_mem region in msm8916.dtsi (0x2b00000)
only works for some APQ8016 devices without full-featured modem,
such as the DragonBoard 410c.

The full modem firmware is typically about twice as large (~45 MiB
-> ~90 MiB) but also varies by a few MiB from device to device. Since
these devices are quite memory-constrained nowadays it's important to
minimize the unnecessary memory reservations.

Make it clear that each board needs to specify the necessary mpss_mem
size by replacing the DB410c-specific size in msm8916.dtsi with a
simple comment. &mpss_mem is disabled by default so it's fine to leave
some properties up to the boards if they want to enable it.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
 arch/arm64/boot/dts/qcom/apq8016-sbc.dts | 1 +
 arch/arm64/boot/dts/qcom/msm8916.dtsi    | 2 +-
 arch/arm64/boot/dts/qcom/msm8939.dtsi    | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

Comments

Konrad Dybcio Sept. 15, 2023, 1:51 p.m. UTC | #1
On 11.09.2023 19:41, Stephan Gerhold wrote:
> The modem firmware size is typically highly device-specific.
> The current size of the mpss_mem region in msm8916.dtsi (0x2b00000)
> only works for some APQ8016 devices without full-featured modem,
> such as the DragonBoard 410c.
> 
> The full modem firmware is typically about twice as large (~45 MiB
> -> ~90 MiB) but also varies by a few MiB from device to device. Since
> these devices are quite memory-constrained nowadays it's important to
> minimize the unnecessary memory reservations.
> 
> Make it clear that each board needs to specify the necessary mpss_mem
> size by replacing the DB410c-specific size in msm8916.dtsi with a
> simple comment. &mpss_mem is disabled by default so it's fine to leave
> some properties up to the boards if they want to enable it.
> 
> Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> ---
Any reason not to squash it with one of the earlier patches then?

Konrad
Stephan Gerhold Sept. 15, 2023, 2:03 p.m. UTC | #2
On Fri, Sep 15, 2023 at 03:51:52PM +0200, Konrad Dybcio wrote:
> On 11.09.2023 19:41, Stephan Gerhold wrote:
> > The modem firmware size is typically highly device-specific.
> > The current size of the mpss_mem region in msm8916.dtsi (0x2b00000)
> > only works for some APQ8016 devices without full-featured modem,
> > such as the DragonBoard 410c.
> > 
> > The full modem firmware is typically about twice as large (~45 MiB
> > -> ~90 MiB) but also varies by a few MiB from device to device. Since
> > these devices are quite memory-constrained nowadays it's important to
> > minimize the unnecessary memory reservations.
> > 
> > Make it clear that each board needs to specify the necessary mpss_mem
> > size by replacing the DB410c-specific size in msm8916.dtsi with a
> > simple comment. &mpss_mem is disabled by default so it's fine to leave
> > some properties up to the boards if they want to enable it.
> > 
> > Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
> > ---
> Any reason not to squash it with one of the earlier patches then?
> 

I'm not strictly opposed but these are really two independent changes.
One drops the fixed memory regions and makes the allocation dynamic,
in the SoC dtsi. This one moves board-specific information out of the
SoC dtsi (to the boards).

Thanks,
Stephan
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/qcom/apq8016-sbc.dts b/arch/arm64/boot/dts/qcom/apq8016-sbc.dts
index ae510c5ec830..3381550a5c9e 100644
--- a/arch/arm64/boot/dts/qcom/apq8016-sbc.dts
+++ b/arch/arm64/boot/dts/qcom/apq8016-sbc.dts
@@ -263,6 +263,7 @@  &mpss {
 
 &mpss_mem {
 	status = "okay";
+	reg = <0x0 0x86800000 0x0 0x2b00000>;
 };
 
 &pm8916_codec {
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi b/arch/arm64/boot/dts/qcom/msm8916.dtsi
index 8457472c9ad8..4d867078388d 100644
--- a/arch/arm64/boot/dts/qcom/msm8916.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8916.dtsi
@@ -84,7 +84,7 @@  mpss_mem: mpss@86800000 {
 			 * alignment = <0x0 0x400000>;
 			 * alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
 			 */
-			reg = <0x0 0x86800000 0x0 0x2b00000>;
+			reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */
 			no-map;
 			status = "disabled";
 		};
diff --git a/arch/arm64/boot/dts/qcom/msm8939.dtsi b/arch/arm64/boot/dts/qcom/msm8939.dtsi
index c50f6d828fed..ba177725f3d7 100644
--- a/arch/arm64/boot/dts/qcom/msm8939.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8939.dtsi
@@ -356,7 +356,7 @@  mpss_mem: mpss@86800000 {
 			 * alignment = <0x0 0x400000>;
 			 * alloc-ranges = <0x0 0x86800000 0x0 0x8000000>;
 			 */
-			reg = <0x0 0x86800000 0x0 0x5500000>;
+			reg = <0x0 0x86800000 0x0 0>; /* size is device-specific */
 			no-map;
 			status = "disabled";
 		};