[libcamera-devel] [PATCH] libcamera: ipa_interface: Document the ownership of dmabufs passed to mapBuffers()
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sat Jan 11 03:28:21 CET 2020
Hi Niklas,
Thank you for the patch.
On Fri, Jan 10, 2020 at 12:26:47AM +0100, Niklas Söderlund wrote:
> The ownership of the dmabuf file handles passed to mapBuffers() is not
> clear. Explicitly document that they are borrowed from the callee and
> only guaranteed to be valid for the duration of the mapBuffers() call.
>
> Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> ---
> src/libcamera/ipa_interface.cpp | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/src/libcamera/ipa_interface.cpp b/src/libcamera/ipa_interface.cpp
> index ee3e3622f39ae85f..25b075fef5a50db7 100644
> --- a/src/libcamera/ipa_interface.cpp
> +++ b/src/libcamera/ipa_interface.cpp
> @@ -429,6 +429,9 @@ namespace libcamera {
> * handler that the IPA needs to access. It provides dmabuf file handles for
> * each buffer, and associates the buffers with unique numerical IDs.
> *
> + * The dmabuf file handles provided in \a buffers are borrowed from the callee
s/handles/descriptors/
s/callee/caller/ ?
> + * and are only guaranteed to be valid during the mapBuffers() call.
But I think this isn't needed anymore, now that IPABuffer stores
FileDescriptor instances and FileDescriptor has become cheap to copy.
We should however document ownerhip of the dmabuf fds in the C API, as
we have no C++ object to make it explicit there. You can simply move
this paragraph to the documentation of ipa_context_ops::map_buffers,
with s/mapBuffers()/map_buffers()/ and maybe the following sentence
added.
* Should the callee need to store a copy of the file descriptors, it
* shall duplicate them first with ::dup().
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> + *
> * IPAs shall map the dmabuf file handles to their address space and keep a
> * cache of the mappings, indexed by the buffer numerical IDs. The IDs are used
> * in all other IPA interface methods to refer to buffers, including the
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list