[Linaro-mm-sig] [PATCH v6 0/4] Add CMA heap for ION memory manager

Benjamin Gaignard benjamin.gaignard at linaro.org
Tue Jun 26 14:18:09 UTC 2012

The goal of those patches is to allow ION clients (drivers or userland applications) 
to use Contiguous Memory Allocator (CMA).

To get more info about CMA: 

patches version 6:
 - add private field in ion_platform_heap to pass the device
   linked with CMA.
 - rework CMA heap to use private field.
 - prepare CMA heap for incoming dma_common_get_sgtable function
 - simplify ion-ux500 driver.

patches version 5:
 - port patches on android kernel 3.4 where ION use dmabuf
 - add ion_cma_heap_map_dma and ion_cma_heap_unmap_dma functions

patches version 4:
 - add ION_HEAP_TYPE_DMA heap type in ion_heap_type enum.
 - CMA heap is now a "native" ION heap.
 - add ion_heap_create_full function to keep backward compatibilty.
 - clean up included files in CMA heap
 - ux500-ion is using ion_heap_create_full instead of ion_heap_create

patches version 3:
 - add a private field in ion_heap structure instead of expose ion_device
 structure to all heaps
 - ion_cma_heap is no more a platform driver
 - ion_cma_heap use ion_heap private field to store the device pointer and
   make the link with reserved CMA regions
 - provide ux500-ion driver and configuration file for snowball board to give
   an example of how use CMA heaps

patches version 2:
 - fix comments done by Andy Green

Benjamin Gaignard (4):
  fix ion_platform_data definition
  add private field in ion_heap and ion_platform_heap structure
  add CMA heap
  add test/example driver for ux500 platform

 arch/arm/mach-ux500/board-mop500.c |   64 +++++++++++++
 drivers/gpu/ion/Kconfig            |    5 +
 drivers/gpu/ion/Makefile           |    5 +-
 drivers/gpu/ion/ion_cma_heap.c     |  179 ++++++++++++++++++++++++++++++++++++
 drivers/gpu/ion/ion_heap.c         |   11 +++
 drivers/gpu/ion/ion_priv.h         |    8 ++
 drivers/gpu/ion/ux500/Makefile     |    1 +
 drivers/gpu/ion/ux500/ux500_ion.c  |  134 +++++++++++++++++++++++++++
 include/linux/ion.h                |    7 +-
 9 files changed, 412 insertions(+), 2 deletions(-)
 create mode 100644 drivers/gpu/ion/ion_cma_heap.c
 create mode 100644 drivers/gpu/ion/ux500/Makefile
 create mode 100644 drivers/gpu/ion/ux500/ux500_ion.c


More information about the Linaro-mm-sig mailing list