Message ID | 20240709143913.3276983-12-dan.scally@ideasonboard.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Quoting Daniel Scally (2024-07-09 15:39:11) > 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. > > Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> > --- > 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 c456a798..512a7489 100644 > --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp > +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp > @@ -827,6 +827,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'll be curious where this is in the pipeline and if we need to later handle routes or other complexities - but for now I think it's fine. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > + if (ret) { > + LOG(MaliC55, Error) << "Couldn't enable resizer's link"; > + return ret; > + } > + > if (isFormatRaw(streamConfig.pixelFormat)) > ret = configureRawStream(data, streamConfig, subdevFormat); > else > -- > 2.34.1 >
diff --git a/src/libcamera/pipeline/mali-c55/mali-c55.cpp b/src/libcamera/pipeline/mali-c55/mali-c55.cpp index c456a798..512a7489 100644 --- a/src/libcamera/pipeline/mali-c55/mali-c55.cpp +++ b/src/libcamera/pipeline/mali-c55/mali-c55.cpp @@ -827,6 +827,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); + if (ret) { + LOG(MaliC55, Error) << "Couldn't enable resizer's link"; + return ret; + } + if (isFormatRaw(streamConfig.pixelFormat)) ret = configureRawStream(data, streamConfig, subdevFormat); else
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. Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> --- src/libcamera/pipeline/mali-c55/mali-c55.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+)