libcamera: Rename DmaHeap class to DmaBufAllocator
Users of the DmaHeap class really just want some way to allocate dma-buffers from userspace. This can also be done by using /dev/udmabuf instead of using /dev/dma_heap/*. Rename DmaHeap class to DmaBufAllocator in preparation of adding /dev/udmabuf support. And update the DmaHeap class docs to match including replacing references to "dma-heap type" with "dma-buf provider". This is a pure automated rename on the code ('s/DmaHeap/DmaBufAllocator/') + file renames + doc updates. There are no functional changes. The DmaBufAllocator objects in vc4.cpp and software_isp.cpp are left named dmaHeap_ to keep the changes to those 2 files to a minimum. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> # Lenovo-x13s Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
6cd17515ff
commit
447da4a11f
9 changed files with 209 additions and 211 deletions
38
include/libcamera/internal/dma_buf_allocator.h
Normal file
38
include/libcamera/internal/dma_buf_allocator.h
Normal file
|
@ -0,0 +1,38 @@
|
|||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
/*
|
||||
* Copyright (C) 2020, Raspberry Pi Ltd
|
||||
*
|
||||
* Helper class for dma-buf allocations.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include <libcamera/base/flags.h>
|
||||
#include <libcamera/base/unique_fd.h>
|
||||
|
||||
namespace libcamera {
|
||||
|
||||
class DmaBufAllocator
|
||||
{
|
||||
public:
|
||||
enum class DmaBufAllocatorFlag {
|
||||
CmaHeap = 1 << 0,
|
||||
SystemHeap = 1 << 1,
|
||||
};
|
||||
|
||||
using DmaBufAllocatorFlags = Flags<DmaBufAllocatorFlag>;
|
||||
|
||||
DmaBufAllocator(DmaBufAllocatorFlags flags = DmaBufAllocatorFlag::CmaHeap);
|
||||
~DmaBufAllocator();
|
||||
bool isValid() const { return providerHandle_.isValid(); }
|
||||
UniqueFD alloc(const char *name, std::size_t size);
|
||||
|
||||
private:
|
||||
UniqueFD providerHandle_;
|
||||
};
|
||||
|
||||
LIBCAMERA_FLAGS_ENABLE_OPERATORS(DmaBufAllocator::DmaBufAllocatorFlag)
|
||||
|
||||
} /* namespace libcamera */
|
|
@ -1,38 +0,0 @@
|
|||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
/*
|
||||
* Copyright (C) 2020, Raspberry Pi Ltd
|
||||
*
|
||||
* Helper class for dma-heap allocations.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include <libcamera/base/flags.h>
|
||||
#include <libcamera/base/unique_fd.h>
|
||||
|
||||
namespace libcamera {
|
||||
|
||||
class DmaHeap
|
||||
{
|
||||
public:
|
||||
enum class DmaHeapFlag {
|
||||
Cma = 1 << 0,
|
||||
System = 1 << 1,
|
||||
};
|
||||
|
||||
using DmaHeapFlags = Flags<DmaHeapFlag>;
|
||||
|
||||
DmaHeap(DmaHeapFlags flags = DmaHeapFlag::Cma);
|
||||
~DmaHeap();
|
||||
bool isValid() const { return dmaHeapHandle_.isValid(); }
|
||||
UniqueFD alloc(const char *name, std::size_t size);
|
||||
|
||||
private:
|
||||
UniqueFD dmaHeapHandle_;
|
||||
};
|
||||
|
||||
LIBCAMERA_FLAGS_ENABLE_OPERATORS(DmaHeap::DmaHeapFlag)
|
||||
|
||||
} /* namespace libcamera */
|
|
@ -25,7 +25,7 @@ libcamera_internal_headers = files([
|
|||
'device_enumerator.h',
|
||||
'device_enumerator_sysfs.h',
|
||||
'device_enumerator_udev.h',
|
||||
'dma_heaps.h',
|
||||
'dma_buf_allocator.h',
|
||||
'formats.h',
|
||||
'framebuffer.h',
|
||||
'ipa_manager.h',
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <libcamera/ipa/soft_ipa_proxy.h>
|
||||
|
||||
#include "libcamera/internal/camera_sensor.h"
|
||||
#include "libcamera/internal/dma_heaps.h"
|
||||
#include "libcamera/internal/dma_buf_allocator.h"
|
||||
#include "libcamera/internal/pipeline_handler.h"
|
||||
#include "libcamera/internal/shared_mem_object.h"
|
||||
#include "libcamera/internal/software_isp/debayer_params.h"
|
||||
|
@ -91,7 +91,7 @@ private:
|
|||
Thread ispWorkerThread_;
|
||||
SharedMemObject<DebayerParams> sharedParams_;
|
||||
DebayerParams debayerParams_;
|
||||
DmaHeap dmaHeap_;
|
||||
DmaBufAllocator dmaHeap_;
|
||||
|
||||
std::unique_ptr<ipa::soft::IPAProxySoft> ipa_;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue