linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/9] dma-buf: heaps: Turn heaps into modules
@ 2026-02-27 13:15 Maxime Ripard
  2026-02-27 13:15 ` [PATCH v2 1/9] dma: contiguous: Turn heap registration logic around Maxime Ripard
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Maxime Ripard @ 2026-02-27 13:15 UTC (permalink / raw)
  To: Sumit Semwal, Benjamin Gaignard, Brian Starkey, John Stultz,
	T.J. Mercier, Christian König, Marek Szyprowski,
	Robin Murphy, Andrew Morton, David Hildenbrand, Lorenzo Stoakes,
	Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
	Suren Baghdasaryan, Michal Hocko
  Cc: linux-media, dri-devel, linaro-mm-sig, linux-kernel, iommu,
	linux-mm, Maxime Ripard

Hi,

The recent introduction of heaps in the optee driver [1] made possible
the creation of heaps as modules.

It's generally a good idea if possible, including for the already
existing system and CMA heaps.

The system one is pretty trivial, the CMA one is a bit more involved,
especially since we have a call from kernel/dma/contiguous.c to the CMA
heap code. This was solved by turning the logic around and making the
CMA heap call into the contiguous DMA code.

Let me know what you think,
Maxime

1: https://lore.kernel.org/dri-devel/20250911135007.1275833-4-jens.wiklander@linaro.org/

Signed-off-by: Maxime Ripard <mripard@kernel.org>
---
Changes in v2:
- Collect tags
- Don't export dma_contiguous_default_area anymore, but export
  dev_get_cma_area instead
- Mentioned that heap modules can't be removed
- Link to v1: https://lore.kernel.org/r/20260225-dma-buf-heaps-as-modules-v1-0-2109225a090d@kernel.org

---
Maxime Ripard (9):
      dma: contiguous: Turn heap registration logic around
      dma: contiguous: Make dev_get_cma_area() a proper function
      dma: contiguous: Make dma_contiguous_default_area static
      mm: cma: Export dev_get_cma_area()
      mm: cma: Export cma_alloc and cma_release
      mm: cma: Export cma_get_name
      dma-buf: heaps: Export mem_accounting parameter
      dma-buf: heaps: cma: Turn the heap into a module
      dma-buf: heaps: system: Turn the heap into a module

 drivers/dma-buf/dma-heap.c          |  1 +
 drivers/dma-buf/heaps/Kconfig       |  4 ++--
 drivers/dma-buf/heaps/cma_heap.c    | 21 +++++----------------
 drivers/dma-buf/heaps/system_heap.c |  5 +++++
 include/linux/dma-map-ops.h         | 14 ++++++--------
 kernel/dma/contiguous.c             | 37 ++++++++++++++++++++++++++++++++++---
 mm/cma.c                            |  3 +++
 7 files changed, 56 insertions(+), 29 deletions(-)
---
base-commit: 499a718536dc0e1c1d1b6211847207d58acd9916
change-id: 20260225-dma-buf-heaps-as-modules-1034b3ec9f2a

Best regards,
-- 
Maxime Ripard <mripard@kernel.org>



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-02-27 13:23 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-27 13:15 [PATCH v2 0/9] dma-buf: heaps: Turn heaps into modules Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 1/9] dma: contiguous: Turn heap registration logic around Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 2/9] dma: contiguous: Make dev_get_cma_area() a proper function Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 3/9] dma: contiguous: Make dma_contiguous_default_area static Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 4/9] mm: cma: Export dev_get_cma_area() Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 5/9] mm: cma: Export cma_alloc and cma_release Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 6/9] mm: cma: Export cma_get_name Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 7/9] dma-buf: heaps: Export mem_accounting parameter Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 8/9] dma-buf: heaps: cma: Turn the heap into a module Maxime Ripard
2026-02-27 13:15 ` [PATCH v2 9/9] dma-buf: heaps: system: " Maxime Ripard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox