Commit 0634a2dc authored by Nicolas Saenz Julienne's avatar Nicolas Saenz Julienne Committed by Florian Fainelli

ARM: dts: bcm2711: fix soc's node dma-ranges

Raspberry Pi's firmware has a feature to select how much memory to
reserve for its GPU called 'gpu_mem'. The possible values go from 16MB
to 944MB, with a default of 64MB. This memory resides in the topmost
part of the lower 1GB memory area and grows bigger expanding towards the
begging of memory.

It turns out that with low 'gpu_mem' values (16MB and 32MB) the size of
the memory available to the system in the lower 1GB area can outgrow the
interconnect's dma-range as its size was selected based on the maximum
system memory available given the default gpu_mem configuration. This
makes that memory slice unavailable for DMA. And may cause nasty kernel
warnings if CMA happens to include it.

Change soc's dma-ranges to really reflect it's HW limitation, which is
being able to only DMA to the lower 1GB area.

Fixes: 7dbe8c62 ("ARM: dts: Add minimal Raspberry Pi 4 support")
Signed-off-by: default avatarNicolas Saenz Julienne <nsaenzjulienne@suse.de>
Reviewed-by: default avatarPhil Elwell <phil@raspberrypi.org>
Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
parent 093c3f94
...@@ -43,7 +43,7 @@ soc { ...@@ -43,7 +43,7 @@ soc {
<0x7c000000 0x0 0xfc000000 0x02000000>, <0x7c000000 0x0 0xfc000000 0x02000000>,
<0x40000000 0x0 0xff800000 0x00800000>; <0x40000000 0x0 0xff800000 0x00800000>;
/* Emulate a contiguous 30-bit address range for DMA */ /* Emulate a contiguous 30-bit address range for DMA */
dma-ranges = <0xc0000000 0x0 0x00000000 0x3c000000>; dma-ranges = <0xc0000000 0x0 0x00000000 0x40000000>;
/* /*
* This node is the provider for the enable-method for * This node is the provider for the enable-method for
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment