Hi Laurent, Thanks for the review. On Thu, Dec 21, 2023 at 06:45:34PM +0200, Laurent Pinchart wrote: > Hi Sakari, > > Thank you for the patch. > > On Thu, Dec 21, 2023 at 03:58:21PM +0200, Sakari Ailus wrote: > > Add relevant debug prints for v4l2_fwnode_create_links_for_pad(). This > > should help debugging when things go wrong. > > > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > > Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx> # Renesas RZ/G2L SMARC > > --- > > drivers/media/v4l2-core/v4l2-mc.c | 21 +++++++++++++++++---- > > 1 file changed, 17 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/media/v4l2-core/v4l2-mc.c b/drivers/media/v4l2-core/v4l2-mc.c > > index 52d349e72b8c..b1a6246580ec 100644 > > --- a/drivers/media/v4l2-core/v4l2-mc.c > > +++ b/drivers/media/v4l2-core/v4l2-mc.c > > @@ -337,12 +337,18 @@ int v4l2_create_fwnode_links_to_pad(struct v4l2_subdev *src_sd, > > src_idx = media_entity_get_fwnode_pad(&src_sd->entity, > > endpoint, > > MEDIA_PAD_FL_SOURCE); > > - if (src_idx < 0) > > + if (src_idx < 0) { > > + dev_dbg(src_sd->dev, "no pad found for %pfw\n", > > + endpoint); > > continue; > > + } > > > > remote_ep = fwnode_graph_get_remote_endpoint(endpoint); > > - if (!remote_ep) > > + if (!remote_ep) { > > + dev_dbg(src_sd->dev, "no remote ep found for %pfw\n", > > + endpoint); > > continue; > > + } > > > > /* > > * ask the sink to verify it owns the remote endpoint, > > @@ -353,8 +359,12 @@ int v4l2_create_fwnode_links_to_pad(struct v4l2_subdev *src_sd, > > MEDIA_PAD_FL_SINK); > > fwnode_handle_put(remote_ep); > > > > - if (sink_idx < 0 || sink_idx != sink->index) > > + if (sink_idx < 0 || sink_idx != sink->index) { > > + dev_dbg(src_sd->dev, > > + "sink pad index mismatch or error (was %d, expected %u)\n", > > s/was/is/ > > > + sink_idx, sink->index); > > continue; > > + } > > > > /* > > * the source endpoint corresponds to one of its source pads, > > @@ -367,8 +377,11 @@ int v4l2_create_fwnode_links_to_pad(struct v4l2_subdev *src_sd, > > src = &src_sd->entity.pads[src_idx]; > > > > /* skip if link already exists */ > > - if (media_entity_find_link(src, sink)) > > + if (media_entity_find_link(src, sink)) { > > + dev_dbg(src_sd->dev, "link from %pfw to %pfw exists\n", > > + endpoint, remote_ep); > > Should this be printed using the entity names and pad numbers instead, > as done below ? I'll address these in v2. > > > continue; > > + } > > > > dev_dbg(src_sd->dev, "creating link %s:%d -> %s:%d\n", > > src_sd->entity.name, src_idx, -- Regards, Sakari Ailus