This is a much belated second stab at allowing non-default CMA regions to be exposed via the dmabuf heaps interface. Previous attempt was here: https://lore.kernel.org/lkml/20191025225009.50305-2-john.stultz@xxxxxxxxxx/T/ This pass tried to take Rob's earlier suggestion to use a flag property. Feedback would be greatly welcome! thanks -john Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Cc: "Andrew F. Davis" <afd@xxxxxx> Cc: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx> Cc: Liam Mark <lmark@xxxxxxxxxxxxxx> Cc: Pratik Patel <pratikp@xxxxxxxxxxxxxx> Cc: Laura Abbott <labbott@xxxxxxxxxx> Cc: Brian Starkey <Brian.Starkey@xxxxxxx> Cc: Chenbo Feng <fengc@xxxxxxxxxx> Cc: Alistair Strachan <astrachan@xxxxxxxxxx> Cc: Sandeep Patil <sspatil@xxxxxxxxxx> Cc: Hridya Valsaraju <hridya@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Robin Murphy <robin.murphy@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: linux-mm@xxxxxxxxx John Stultz (4): devicetree: bindings: Add linux,cma-heap tag for reserved memory mm: cma: Add dma_heap flag to cma structure dma-buf: cma_heap: Extend logic to export CMA regions tagged with "linux,cma-heap" example: dts: hi3660-hikey960: Add dts entries to test cma heap binding .../reserved-memory/reserved-memory.txt | 3 +++ .../boot/dts/hisilicon/hi3660-hikey960.dts | 7 +++++++ drivers/dma-buf/heaps/cma_heap.c | 18 +++++++++--------- include/linux/cma.h | 3 +++ kernel/dma/contiguous.c | 3 +++ mm/cma.c | 11 +++++++++++ mm/cma.h | 1 + 7 files changed, 37 insertions(+), 9 deletions(-) -- 2.17.1