[PATCH v5 11/13] libcamera: mali-c55: Enable links between resizer and video node
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Nov 12 07:40:25 CET 2024
Hi Dan,
Thank you for the patch.
On Thu, Nov 07, 2024 at 10:58:44AM +0000, Daniel Scally wrote:
> The mali-c55 driver now expects links to video devices to be enabled
> in order for those devices to be streamed from / to. Enable the media
> link between the resizers and their associated video device to fulfil
> the requirement.
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> Signed-off-by: Daniel Scally <dan.scally at ideasonboard.com>
> ---
> Changes in v5:
>
> - None
>
> src/libcamera/pipeline/mali-c55/mali-c55.cpp | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/src/libcamera/pipeline/mali-c55/mali-c55.cpp b/src/libcamera/pipeline/mali-c55/mali-c55.cpp
> index 97827abd..b00cbce5 100644
> --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp
> +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp
> @@ -834,6 +834,17 @@ int PipelineHandlerMaliC55::configure(Camera *camera,
> Stream *stream = streamConfig.stream();
> MaliC55Pipe *pipe = pipeFromStream(data, stream);
>
> + /*
> + * Enable the media link between the pipe's resizer and the
> + * capture video device
> + */
> + const MediaEntity *rszEntity = pipe->resizer->entity();
> + ret = rszEntity->getPadByIndex(1)->links()[0]->setEnabled(true);
I Would use the MediaDevice::link() function here, and verify that the
returned link is not null before proceeding. Same in other places where
this is applicable in the C55 pipeline handler. You could also cache the
link pointer in MaliC55Pipe.
> + if (ret) {
> + LOG(MaliC55, Error) << "Couldn't enable resizer's link";
> + return ret;
> + }
> +
> if (isFormatRaw(streamConfig.pixelFormat))
> ret = configureRawStream(data, streamConfig, subdevFormat);
> else
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list