[PATCH v5 0/4] dma-buf: heaps: Turn heaps into modules

Maxime Ripard posted 4 patches 1 month, 2 weeks ago
arch/arm64/configs/defconfig        | 3 +++
drivers/dma-buf/dma-heap.c          | 1 +
drivers/dma-buf/heaps/Kconfig       | 4 ++--
drivers/dma-buf/heaps/cma_heap.c    | 3 +++
drivers/dma-buf/heaps/system_heap.c | 5 +++++
5 files changed, 14 insertions(+), 2 deletions(-)
[PATCH v5 0/4] dma-buf: heaps: Turn heaps into modules
Posted by Maxime Ripard 1 month, 2 weeks ago
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 is now easy too with the
reworks we got in 7.1-r1.

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 v5:
- Rebase on 7.1-rc1
- Add a patch to enable the heaps in arm64 defconfig
- Link to v4: https://lore.kernel.org/r/20260331-dma-buf-heaps-as-modules-v4-0-e18fda504419@kernel.org

Changes in v4:
- Fix compilation failure
- Rework to take into account OF_RESERVED_MEM
- Fix regression making the default CMA area disappear if not created
  through the DT
- Added some documentation and comments
- Link to v3: https://lore.kernel.org/r/20260303-dma-buf-heaps-as-modules-v3-0-24344812c707@kernel.org

Changes in v3:
- Squashed cma_get_name and cma_alloc/release patches
- Fixed typo in Export dev_get_cma_area commit title
- Fixed compilation failure with DMA_CMA but not OF_RESERVED_MEM
- Link to v2: https://lore.kernel.org/r/20260227-dma-buf-heaps-as-modules-v2-0-454aee7e06cc@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 (4):
      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
      arm64: defconfig: Enable dma-buf heaps

 arch/arm64/configs/defconfig        | 3 +++
 drivers/dma-buf/dma-heap.c          | 1 +
 drivers/dma-buf/heaps/Kconfig       | 4 ++--
 drivers/dma-buf/heaps/cma_heap.c    | 3 +++
 drivers/dma-buf/heaps/system_heap.c | 5 +++++
 5 files changed, 14 insertions(+), 2 deletions(-)
---
base-commit: 5e9b7d093f3f77cb0af4409559e3d139babfb443
change-id: 20260225-dma-buf-heaps-as-modules-1034b3ec9f2a

Best regards,
-- 
Maxime Ripard <mripard@kernel.org>
Re: [PATCH v5 0/4] dma-buf: heaps: Turn heaps into modules
Posted by Andrew Davis 1 month, 1 week ago
On 4/27/26 5:04 AM, Maxime Ripard wrote:
> 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 is now easy too with the
> reworks we got in 7.1-r1.
> 
> 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 v5:
> - Rebase on 7.1-rc1
> - Add a patch to enable the heaps in arm64 defconfig

Could you do this for ARM (multi_v7_defconfig) also? Actually seems
loongarch has Heaps enabled by default and I've seen it default enabled
on some x86 distros too. Maybe someday having the base Heaps + System Heap
set to "default y/m" as they should always exist for any arch would be an
idea. Anyway for this series all LGTM,

Acked-by: Andrew Davis <afd@ti.com>

> - Link to v4: https://lore.kernel.org/r/20260331-dma-buf-heaps-as-modules-v4-0-e18fda504419@kernel.org
> 
> Changes in v4:
> - Fix compilation failure
> - Rework to take into account OF_RESERVED_MEM
> - Fix regression making the default CMA area disappear if not created
>    through the DT
> - Added some documentation and comments
> - Link to v3: https://lore.kernel.org/r/20260303-dma-buf-heaps-as-modules-v3-0-24344812c707@kernel.org
> 
> Changes in v3:
> - Squashed cma_get_name and cma_alloc/release patches
> - Fixed typo in Export dev_get_cma_area commit title
> - Fixed compilation failure with DMA_CMA but not OF_RESERVED_MEM
> - Link to v2: https://lore.kernel.org/r/20260227-dma-buf-heaps-as-modules-v2-0-454aee7e06cc@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 (4):
>        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
>        arm64: defconfig: Enable dma-buf heaps
> 
>   arch/arm64/configs/defconfig        | 3 +++
>   drivers/dma-buf/dma-heap.c          | 1 +
>   drivers/dma-buf/heaps/Kconfig       | 4 ++--
>   drivers/dma-buf/heaps/cma_heap.c    | 3 +++
>   drivers/dma-buf/heaps/system_heap.c | 5 +++++
>   5 files changed, 14 insertions(+), 2 deletions(-)
> ---
> base-commit: 5e9b7d093f3f77cb0af4409559e3d139babfb443
> change-id: 20260225-dma-buf-heaps-as-modules-1034b3ec9f2a
> 
> Best regards,
Re: [PATCH v5 0/4] dma-buf: heaps: Turn heaps into modules
Posted by Sumit Semwal 2 weeks, 5 days ago
Hi Maxime,

On Thu, 30 Apr 2026 at 21:43, Andrew Davis <afd@ti.com> wrote:
>
> On 4/27/26 5:04 AM, Maxime Ripard wrote:
> > 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 is now easy too with the
> > reworks we got in 7.1-r1.
> >
> > Let me know what you think,
> > Maxime
Thanks for the series; merged to drm-misc-next.

Best,
Sumit.
> >
> > 1: https://lore.kernel.org/dri-devel/20250911135007.1275833-4-jens.wiklander@linaro.org/
> >
> > Signed-off-by: Maxime Ripard <mripard@kernel.org>
> > ---
> > Changes in v5:
> > - Rebase on 7.1-rc1
> > - Add a patch to enable the heaps in arm64 defconfig
>
> Could you do this for ARM (multi_v7_defconfig) also? Actually seems
> loongarch has Heaps enabled by default and I've seen it default enabled
> on some x86 distros too. Maybe someday having the base Heaps + System Heap
> set to "default y/m" as they should always exist for any arch would be an
> idea. Anyway for this series all LGTM,
>
> Acked-by: Andrew Davis <afd@ti.com>
>
> > - Link to v4: https://lore.kernel.org/r/20260331-dma-buf-heaps-as-modules-v4-0-e18fda504419@kernel.org
> >
> > Changes in v4:
> > - Fix compilation failure
> > - Rework to take into account OF_RESERVED_MEM
> > - Fix regression making the default CMA area disappear if not created
> >    through the DT
> > - Added some documentation and comments
> > - Link to v3: https://lore.kernel.org/r/20260303-dma-buf-heaps-as-modules-v3-0-24344812c707@kernel.org
> >
> > Changes in v3:
> > - Squashed cma_get_name and cma_alloc/release patches
> > - Fixed typo in Export dev_get_cma_area commit title
> > - Fixed compilation failure with DMA_CMA but not OF_RESERVED_MEM
> > - Link to v2: https://lore.kernel.org/r/20260227-dma-buf-heaps-as-modules-v2-0-454aee7e06cc@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 (4):
> >        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
> >        arm64: defconfig: Enable dma-buf heaps
> >
> >   arch/arm64/configs/defconfig        | 3 +++
> >   drivers/dma-buf/dma-heap.c          | 1 +
> >   drivers/dma-buf/heaps/Kconfig       | 4 ++--
> >   drivers/dma-buf/heaps/cma_heap.c    | 3 +++
> >   drivers/dma-buf/heaps/system_heap.c | 5 +++++
> >   5 files changed, 14 insertions(+), 2 deletions(-)
> > ---
> > base-commit: 5e9b7d093f3f77cb0af4409559e3d139babfb443
> > change-id: 20260225-dma-buf-heaps-as-modules-1034b3ec9f2a
> >
> > Best regards,
>