mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-12 23:09:45 +03:00
pipeline: imx8-isi: Dynamically compute crossbar subdevice's first source.
So far, imx8-isi pipeline supports _symetrical_ crossbar, with same amount of sink and source pads. But for some other imx SoCs, such as i.MX8QM or i.MX95, crossbar is not symetric anymore. Since each crossbar source is already captured as a pipes_ vector entry, we use pipes_ vector's size to compute 1st source index. "1st source index" = "total number of crossbar pads" - pipes_.count() Signed-off-by: Antoine Bouyer <antoine.bouyer@nxp.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
5621ac27a2
commit
d3f3b95b64
1 changed files with 1 additions and 1 deletions
|
@ -820,7 +820,7 @@ int PipelineHandlerISI::configure(Camera *camera, CameraConfiguration *c)
|
||||||
* routing table instead of resetting it.
|
* routing table instead of resetting it.
|
||||||
*/
|
*/
|
||||||
V4L2Subdevice::Routing routing = {};
|
V4L2Subdevice::Routing routing = {};
|
||||||
unsigned int xbarFirstSource = crossbar_->entity()->pads().size() / 2 + 1;
|
unsigned int xbarFirstSource = crossbar_->entity()->pads().size() - pipes_.size();
|
||||||
|
|
||||||
for (const auto &[idx, config] : utils::enumerate(*c)) {
|
for (const auto &[idx, config] : utils::enumerate(*c)) {
|
||||||
uint32_t sourcePad = xbarFirstSource + idx;
|
uint32_t sourcePad = xbarFirstSource + idx;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue