Hi Helen, Thanks for your work. On 2020-01-17 17:12:18 -0300, Helen Koike wrote: > The only places which make sese to allow users to enable or disable > links are: > > * between sensors and isp: > So users can select which sensor should be used while streaming > > * between isp and the resizers: > | > v here > rkisp1_isp:2 -> rkisp1_resizer_mainpath -> rkisp1_mainpath (capture) > \-> rkisp1_resizer_selfpath -> rkisp1_selfpath (capture) > ^ here > | > > So users can disable one of the capture paths when unused, to avoid > worring about matching formats. > > Make the following links immutable to simplify userspace: > > rkisp1_resizer_mainpath -> rkisp1_mainpath > rkisp1_resizer_selfpath -> rkisp1_selfpath > rkisp1_params -> rkisp1_isp > rkisp1_isp -> rkisp1_stats > > Signed-off-by: Helen Koike <helen.koike@xxxxxxxxxxxxx> > > --- > This is the topology graph after disabling all the links with > media -r > http://col.la/rkisp1immutable > > Dashed links are the only one can can be enabled/disabled, the others > are immutable. > > drivers/staging/media/rkisp1/rkisp1-dev.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/media/rkisp1/rkisp1-dev.c b/drivers/staging/media/rkisp1/rkisp1-dev.c > index 558126e66465..4030d5e71af1 100644 > --- a/drivers/staging/media/rkisp1/rkisp1-dev.c > +++ b/drivers/staging/media/rkisp1/rkisp1-dev.c > @@ -145,14 +145,15 @@ static int rkisp1_create_links(struct rkisp1_device *rkisp1) > flags = 0; > } > > - flags = MEDIA_LNK_FL_ENABLED; > + flags = MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE; > > /* create ISP->RSZ->CAP links */ > for (i = 0; i < 2; i++) { > source = &rkisp1->isp.sd.entity; > sink = &rkisp1->resizer_devs[i].sd.entity; nit: To keep with the style of the rest of the function I would set flags here and once more bellow in the same loop. With or without this fixed, Reviewed-by: Niklas Söderlund <niklas.soderlund@xxxxxxxxxxxx> > ret = media_create_pad_link(source, RKISP1_ISP_PAD_SOURCE_VIDEO, > - sink, RKISP1_RSZ_PAD_SINK, flags); > + sink, RKISP1_RSZ_PAD_SINK, > + MEDIA_LNK_FL_ENABLED); > if (ret) > return ret; > > -- > 2.24.0 > -- Regards, Niklas Söderlund