HACK: ARM: dts: dra7-ipu-common: Revert to CMA pools for IPU early boots
authorSuman Anna <s-anna@ti.com>
Mon, 16 Sep 2019 23:59:03 +0000 (18:59 -0500)
committerSuman Anna <s-anna@ti.com>
Mon, 23 Sep 2019 01:47:33 +0000 (20:47 -0500)
The patch d1a42fca5944 ("TEMP: ARM: dts: dra7-ipu-common: Add a common
file for IPU early boots") converts the default CMA pools used in regular
remoteproc mode to carveouts/DMA pools for early-boot usage scenarios
using the "no-map" property to avoid the kernel from corrupting the
remoteproc firmware image sections.

The allocation scheme with DMA pools though is different than with CMA
pools, and this may cause some of the existing firmwares used in the
regular remoteproc mode with CMA to fail. The DMA pools may require a
number of changes in general:
 - Split the firmware RSC_CARVEOUT sections into better aligned memory
   regions conducive to the DMA pool allocation scheme.
 - Increase the vmalloc size, as the DMA pools are no longer mapped by
   default in kernel linear memory (for DDR < 2 GB) and needs to be
   mapped into vmalloc space to be accessed. This may depend on system
   configuration, number of remote cores using a DMA pool, and the sizes
   of the DMA pools.
 - Increase the size of the carveouts (last resort)

Revert back to CMA pools temporarily to make the current firmware images
be functional. A short-term fix would be to update the firmwares and the
long-term fix would be to eliminate the allocation logic altogether and
rely on fixed memory carveout support.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
arch/arm/boot/dts/dra7-ipu-common-early-boot.dtsi

index 8a81d1994fe8dfac41bbb190368d996d44c5bc1e..9cad6c878b673aef38cafd625497c094f5916cb4 100644 (file)
        ti,no-reset-on-init;
 };
 
-&ipu2_memory_region {
-       /delete-property/ reusable;
-       no-map;
-};
-
 &ipu2 {
        ti,no-idle-on-init;
        ti,no-reset-on-init;
        ti,no-reset-on-init;
 };
 
-&ipu1_memory_region {
-       /delete-property/ reusable;
-       no-map;
-};
-
 &ipu1 {
        ti,no-idle-on-init;
        ti,no-reset-on-init;