diff mbox series

arm64: dts: fast models: Fix FVP video RAM size

Message ID 20200421231403.199217-1-pcc@google.com (mailing list archive)
State New, archived
Headers show
Series arm64: dts: fast models: Fix FVP video RAM size | expand

Commit Message

Peter Collingbourne April 21, 2020, 11:14 p.m. UTC
According to the Fast Models Reference Manual, FVP has 32MB of video
RAM starting at physical address 0x18000000, but the DTS only declares
8MB. Fix that.

Signed-off-by: Peter Collingbourne <pcc@google.com>
---
 arch/arm64/boot/dts/arm/fvp-base-revc.dts | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Peter Collingbourne April 23, 2020, 11:30 p.m. UTC | #1
On Tue, Apr 21, 2020 at 4:14 PM Peter Collingbourne <pcc@google.com> wrote:
>
> According to the Fast Models Reference Manual, FVP has 32MB of video
> RAM starting at physical address 0x18000000, but the DTS only declares
> 8MB. Fix that.

I may have sent this out too soon. After further debugging I
discovered that Android requires more than the designated 32MB of
video RAM.

It turns out that FVP supports DMA between the graphics device and
DRAM. Therefore I propose to change the DTS for FVP to use a dynamic
allocation of 256MB of DRAM for video RAM. I will send a patch to do
this shortly. With that (together with [1]) I can boot Android with
graphical output over DRM.

Peter

[1] https://patchwork.kernel.org/patch/11506759/


Peter
>
> Signed-off-by: Peter Collingbourne <pcc@google.com>
> ---
>  arch/arm64/boot/dts/arm/fvp-base-revc.dts | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/arm/fvp-base-revc.dts b/arch/arm64/boot/dts/arm/fvp-base-revc.dts
> index 66381d89c1ce..72c018188c40 100644
> --- a/arch/arm64/boot/dts/arm/fvp-base-revc.dts
> +++ b/arch/arm64/boot/dts/arm/fvp-base-revc.dts
> @@ -105,9 +105,9 @@ reserved-memory {
>
>                 /* Chipselect 2,00000000 is physically at 0x18000000 */
>                 vram: vram@18000000 {
> -                       /* 8 MB of designated video RAM */
> +                       /* 32 MB of designated video RAM */
>                         compatible = "shared-dma-pool";
> -                       reg = <0x00000000 0x18000000 0 0x00800000>;
> +                       reg = <0x00000000 0x18000000 0 0x02000000>;
>                         no-map;
>                 };
>         };
> --
> 2.26.1.301.g55bc3eb7cb9-goog
>
Linus Walleij April 28, 2020, 1:06 p.m. UTC | #2
On Fri, Apr 24, 2020 at 1:30 AM Peter Collingbourne <pcc@google.com> wrote:
> On Tue, Apr 21, 2020 at 4:14 PM Peter Collingbourne <pcc@google.com> wrote:
> >
> > According to the Fast Models Reference Manual, FVP has 32MB of video
> > RAM starting at physical address 0x18000000, but the DTS only declares
> > 8MB. Fix that.
>
> I may have sent this out too soon. After further debugging I
> discovered that Android requires more than the designated 32MB of
> video RAM.
>
> It turns out that FVP supports DMA between the graphics device and
> DRAM. Therefore I propose to change the DTS for FVP to use a dynamic
> allocation of 256MB of DRAM for video RAM. I will send a patch to do
> this shortly. With that (together with [1]) I can boot Android with
> graphical output over DRM.

Hey that is quite an accomplishment :D

When I started to convert the ARM Reference designs to use the
DRM PL111 driver we didn't know if we'd find any real-world
use case for it other than being a good role model and running some
old boards.

Now it is suddenly really useful.

Thanks!
Linus Walleij
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/arm/fvp-base-revc.dts b/arch/arm64/boot/dts/arm/fvp-base-revc.dts
index 66381d89c1ce..72c018188c40 100644
--- a/arch/arm64/boot/dts/arm/fvp-base-revc.dts
+++ b/arch/arm64/boot/dts/arm/fvp-base-revc.dts
@@ -105,9 +105,9 @@  reserved-memory {
 
 		/* Chipselect 2,00000000 is physically at 0x18000000 */
 		vram: vram@18000000 {
-			/* 8 MB of designated video RAM */
+			/* 32 MB of designated video RAM */
 			compatible = "shared-dma-pool";
-			reg = <0x00000000 0x18000000 0 0x00800000>;
+			reg = <0x00000000 0x18000000 0 0x02000000>;
 			no-map;
 		};
 	};