Hi Laurent,

On Wed, Jan 16, 2019 at 12:57:43AM +0200, Laurent Pinchart wrote:
> Hi Sakari,
> 
> Thank you for the patch.
> 
> On Fri, Nov 02, 2018 at 12:31:23AM +0100, Niklas Söderlund wrote:
> > From: Sakari Ailus <sakari.ai...@linux.intel.com>
> > 
> > This way the pads are always passed to the has_route() op sink pad first.
> > Makes sense.
> 
> Is there anything in the API that mandates one pad to be a sink and the
> other pad to the a source ? I had designed the operation to allow
> sink-sink and source-source connections to be checked too.

Do you have a use case in mind for sink--sink or source--source routes? The
routes are about flows of data, so I'd presume only source--sink or
sink--source routes are meaningful.

If you did, then the driver would have to handle that by itself. This still
simplifies the implementation for drivers that do not.

> 
> If your goal is to simplify the implementation of the .has_route()
> operation in drivers, I would instead sort pad0 and pad1 by value.

That'd be another option to make the order deterministic for the driver.
I'm fine with that as well.

> 
> > Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> > Reviewed-by: Niklas Söderlund <niklas.soderlund+rene...@ragnatech.se>
> > ---
> >  drivers/media/media-entity.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
> > index 3c0e7425c8983b45..33f00e35ccd92c6f 100644
> > --- a/drivers/media/media-entity.c
> > +++ b/drivers/media/media-entity.c
> > @@ -249,6 +249,10 @@ bool media_entity_has_route(struct media_entity 
> > *entity, unsigned int pad0,
> >     if (!entity->ops || !entity->ops->has_route)
> >             return true;
> >  
> > +   if (entity->pads[pad0].flags & MEDIA_PAD_FL_SOURCE
> > +       && entity->pads[pad1].flags & MEDIA_PAD_FL_SINK)
> > +           swap(pad0, pad1);
> > +
> >     return entity->ops->has_route(entity, pad0, pad1);
> >  }
> >  EXPORT_SYMBOL_GPL(media_entity_has_route);
> 
> -- 
> Regards,
> 
> Laurent Pinchart

-- 
Sakari Ailus
sakari.ai...@linux.intel.com

Reply via email to