Message ID | 20200628001532.2685967-3-niklas.soderlund@ragnatech.se |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Hi Niklas, Thank you for the patch. On Sun, Jun 28, 2020 at 02:15:21AM +0200, Niklas Söderlund wrote: > Statistics buffers are not yet used by the IPU3 pipeline, they are never > queued to the video device or in any other way consumed. The kernel > driver will however not allow video streaming to start if buffers are > not either allocated or imported on the video device. Instead of s/video device/statistics video device/ > allocating the buffers wasting memory that is never used import buffers. s/used/used,/ > > Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> > Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> > --- > src/libcamera/pipeline/ipu3/ipu3.cpp | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp > index fba45935741e0e4e..405550b1302fb370 100644 > --- a/src/libcamera/pipeline/ipu3/ipu3.cpp > +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp > @@ -1135,11 +1135,13 @@ int ImgUDevice::allocateBuffers(IPU3CameraData *data, unsigned int bufferCount) > } > > /* > - * Use for the stat's internal pool the same number of buffers as for > - * the input pool. > + * The kernel fails to start if buffers are not either imported or > + * allocated for the statisitcs video device. As statistics buffers are s/statisitcs/statistics/ Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > + * not yet used by the pipeline import buffers to save memory. > + * > * \todo To be revised when we'll actually use the stat node. > */ > - ret = stat_.dev->allocateBuffers(bufferCount, &stat_.buffers); > + ret = stat_.dev->importBuffers(bufferCount); > if (ret < 0) { > LOG(IPU3, Error) << "Failed to allocate ImgU stat buffers"; > goto error;
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index fba45935741e0e4e..405550b1302fb370 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -1135,11 +1135,13 @@ int ImgUDevice::allocateBuffers(IPU3CameraData *data, unsigned int bufferCount) } /* - * Use for the stat's internal pool the same number of buffers as for - * the input pool. + * The kernel fails to start if buffers are not either imported or + * allocated for the statisitcs video device. As statistics buffers are + * not yet used by the pipeline import buffers to save memory. + * * \todo To be revised when we'll actually use the stat node. */ - ret = stat_.dev->allocateBuffers(bufferCount, &stat_.buffers); + ret = stat_.dev->importBuffers(bufferCount); if (ret < 0) { LOG(IPU3, Error) << "Failed to allocate ImgU stat buffers"; goto error;