Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4c90288 authored by Maxime Ripard's avatar Maxime Ripard Committed by Greg Kroah-Hartman
Browse files

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



[ Upstream commit 92025b90f18d45e26b7f17d68756b1abd771b9d3 ]

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


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 0307da68
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -198,7 +198,7 @@
		default-pool {
			compatible = "shared-dma-pool";
			size = <0x6000000>;
			alloc-ranges = <0x4a000000 0x6000000>;
			alloc-ranges = <0x40000000 0x10000000>;
			reusable;
			linux,cma-default;
		};
+1 −1
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@
		default-pool {
			compatible = "shared-dma-pool";
			size = <0x6000000>;
			alloc-ranges = <0x4a000000 0x6000000>;
			alloc-ranges = <0x40000000 0x10000000>;
			reusable;
			linux,cma-default;
		};
+1 −1
Original line number Diff line number Diff line
@@ -180,7 +180,7 @@
		default-pool {
			compatible = "shared-dma-pool";
			size = <0x6000000>;
			alloc-ranges = <0x4a000000 0x6000000>;
			alloc-ranges = <0x40000000 0x10000000>;
			reusable;
			linux,cma-default;
		};