Commit 92025b90 authored by Maxime Ripard's avatar Maxime Ripard

ARM: dts sunxi: Relax a bit the CMA pool allocation range

The hardware codec on the A10, A10s, A13 and A20 needs buffer in the
first 256MB of RAM. This was solved by setting the CMA pool at a fixed
address in that range.

However, in recent kernels there's something else that comes in and
reserve some range that end up conflicting with our default pool
requirement, and thus makes its reservation fail.

The video codec will then use buffers from the usual default pool,
outside of the range it can access, and will fail to decode anything.

Since we're only concerned about that 256MB, we can however relax the
allocation to just specify the range that's allowed, and not try to
enforce a specific address.

Fixes: 5949bc56 ("ARM: dts: sun4i-a10: Add Video Engine and reserved memory nodes")
Fixes: 96043201 ("ARM: dts: sun5i: Add Video Engine and reserved memory nodes")
Fixes: c2a641a7 ("ARM: dts: sun7i-a20: Add Video Engine and reserved memory nodes")
Signed-off-by: default avatarMaxime Ripard <maxime@cerno.tech>
Acked-by: default avatarChen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20200704130829.34297-1-maxime@cerno.tech
parent b3a9e3b9
...@@ -198,7 +198,7 @@ reserved-memory { ...@@ -198,7 +198,7 @@ reserved-memory {
default-pool { default-pool {
compatible = "shared-dma-pool"; compatible = "shared-dma-pool";
size = <0x6000000>; size = <0x6000000>;
alloc-ranges = <0x4a000000 0x6000000>; alloc-ranges = <0x40000000 0x10000000>;
reusable; reusable;
linux,cma-default; linux,cma-default;
}; };
......
...@@ -117,7 +117,7 @@ reserved-memory { ...@@ -117,7 +117,7 @@ reserved-memory {
default-pool { default-pool {
compatible = "shared-dma-pool"; compatible = "shared-dma-pool";
size = <0x6000000>; size = <0x6000000>;
alloc-ranges = <0x4a000000 0x6000000>; alloc-ranges = <0x40000000 0x10000000>;
reusable; reusable;
linux,cma-default; linux,cma-default;
}; };
......
...@@ -181,7 +181,7 @@ reserved-memory { ...@@ -181,7 +181,7 @@ reserved-memory {
default-pool { default-pool {
compatible = "shared-dma-pool"; compatible = "shared-dma-pool";
size = <0x6000000>; size = <0x6000000>;
alloc-ranges = <0x4a000000 0x6000000>; alloc-ranges = <0x40000000 0x10000000>;
reusable; reusable;
linux,cma-default; linux,cma-default;
}; };
......
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