[libcamera-devel,v2,0/3] Add HeapAllocator
mbox series

Message ID 20230214093736.4067033-1-chenghaoyang@google.com
Headers show
Series
  • Add HeapAllocator
Related show

Message

Cheng-Hao Yang Feb. 14, 2023, 9:37 a.m. UTC
Hi all,

The series of patches added HeapAllocator, which uses DmaHeap (moved
from Raspberry Pi pipeline handler) and UdmaHeap to allocate heap
buffers.

Updated Dma's & Udma's copyright info according to Dave's & Kieran's
comments. Let me know if I mis-overwrite the copyright info again :(

I've only build-test it, and I'll need to test it on my virtual pipeline
handler patches, but please take a look and let me know if it makes
sense. Thanks!

BR,
Harvey

Harvey Yang (3):
  libcamera: Move DmaHeap to HeapAllocator as a base class
  libcamera: Add UdmaHeap if DmaHeap is not valid
  libcamera: Add exportFrameBuffers in HeapAllocator

 include/libcamera/dma_heap.h                  |  20 +++
 include/libcamera/heap.h                      |  27 ++++
 include/libcamera/heap_allocator.h            |  40 ++++++
 include/libcamera/meson.build                 |   4 +
 include/libcamera/udma_heap.h                 |  20 +++
 .../dma_heaps.cpp => dma_heap.cpp}            |  52 +++++---
 src/libcamera/heap_allocator.cpp              |  90 ++++++++++++++
 src/libcamera/meson.build                     |   3 +
 .../pipeline/raspberrypi/dma_heaps.h          |  32 -----
 .../pipeline/raspberrypi/meson.build          |   1 -
 .../pipeline/raspberrypi/raspberrypi.cpp      |  10 +-
 src/libcamera/udma_heap.cpp                   | 117 ++++++++++++++++++
 12 files changed, 359 insertions(+), 57 deletions(-)
 create mode 100644 include/libcamera/dma_heap.h
 create mode 100644 include/libcamera/heap.h
 create mode 100644 include/libcamera/heap_allocator.h
 create mode 100644 include/libcamera/udma_heap.h
 rename src/libcamera/{pipeline/raspberrypi/dma_heaps.cpp => dma_heap.cpp} (58%)
 create mode 100644 src/libcamera/heap_allocator.cpp
 delete mode 100644 src/libcamera/pipeline/raspberrypi/dma_heaps.h
 create mode 100644 src/libcamera/udma_heap.cpp