mbox series

[v2,0/4] Chunk Heap Support on DMA-HEAP

Message ID 20201201175144.3996569-1-minchan@kernel.org (mailing list archive)
Headers show
Series Chunk Heap Support on DMA-HEAP | expand

Message

Minchan Kim Dec. 1, 2020, 5:51 p.m. UTC
This patchset introduces a new dma heap, chunk heap that makes it
easy to perform the bulk allocation of high order pages.
It has been created to help optimize the 4K/8K HDR video playback
with secure DRM HW to protect contents on memory. The HW needs
physically contiguous memory chunks up to several hundred MB memory.

This patchset is against on next-20201130.

The patchset includes the following:
 - cma_alloc_bulk API
 - export dma-heap API to register kernel module dma heap.
 - add chunk heap implementation.

* Since v1 - 
  https://lore.kernel.org/linux-mm/20201117181935.3613581-1-minchan@kernel.org/

  * introduce alloc_contig_mode - David
  * use default CMA instead of device tree - John
    
Hyesoo Yu (2):
  dma-buf: add export symbol for dma-heap
  dma-buf: heaps: add chunk heap to dmabuf heaps

Minchan Kim (2):
  mm: introduce alloc_contig_mode
  mm: introduce cma_alloc_bulk API

 drivers/dma-buf/dma-heap.c         |   2 +
 drivers/dma-buf/heaps/Kconfig      |  15 +
 drivers/dma-buf/heaps/Makefile     |   1 +
 drivers/dma-buf/heaps/chunk_heap.c | 429 +++++++++++++++++++++++++++++
 drivers/virtio/virtio_mem.c        |   2 +-
 include/linux/cma.h                |   5 +
 include/linux/gfp.h                |  10 +-
 kernel/dma/contiguous.c            |   1 +
 mm/cma.c                           | 134 ++++++++-
 mm/page_alloc.c                    |  25 +-
 10 files changed, 607 insertions(+), 17 deletions(-)
 create mode 100644 drivers/dma-buf/heaps/chunk_heap.c