Hi Laurent,

Thanks for the comments.

On Thu, Nov 15, 2012 at 01:46:23AM +0100, Laurent Pinchart wrote:
> On Wednesday 14 November 2012 23:13:45 Sakari Ailus wrote:
> > On Wed, Nov 14, 2012 at 10:23:19AM +0100, Sylwester Nawrocki wrote:
> > > On 11/13/2012 03:24 PM, Sakari Ailus wrote:
> > > > Hi all,
> > > > 
> > > > Comments would be appreciated, either positive or negative. The omap3isp
> > > > driver does the same check itself currently, but I think this is more
> > > > generic than that.
> > > > 
> > > > Thanks.
> > > > 
> > > > On Fri, Oct 26, 2012 at 10:46:17PM +0300, Sakari Ailus wrote:
> > > >> If an entity has sink pads, at least one of them must be connected to
> > > >> another pad with an enabled link. If a driver with multiple sink pads
> > > >> has more strict requirements the check should be done in the driver
> > > >> itself.
> > > >> 
> > > >> Just requiring one sink pad is connected with an enabled link is enough
> > > >> API-wise: entities with sink pads with only disabled links should not
> > > >> be allowed to stream in the first place, but also in a different
> > > >> operation mode a device might require only one of its pads connected
> > > >> with an active link.
> > > >> 
> > > >> If an entity has an ability to function as a source entity another
> > > >> logical entity connected to the aforementioned one should be used for
> > > >> the purpose.
> > > 
> > > Why not leave it to individual drivers ? I'm not sure if it is a good idea
> > > not to allow an entity with sink pads to be used as a source only. It
> > > might be appropriate for most of the cases but likely not all. I'm
> > > inclined not to add this requirement in the API. Just my opinion though.
> > 
> > I'm just wondering what would be the use case for that.
> > 
> > What comes closest is generating a test pattern, but even that should be a
> > separate subdev: the test pattern can be enabled by enabling the link from
> > the test pattern generator subdev.
> 
> That would force creating a separate subdev just to support test pattern 
> generation, I'm not sure if I want to push for that. There might also be 
> other 

The benefit of standard interfaces and uniform behaviour of those interfaces
is that you can configure test pattern generation using e.g. media-ctl and
yavta. Nothing else; not even private controls are needed.

> use cases not related to V4L (thus the cross-posting).

That's certainly possible.

...

> > One opion I can think of is to call link_validate op of struct
> > media_entity_operations also for disabled links on entities that are
> > connected through active links (on V4L2 to a video node right before
> > streaming, for example).
> > 
> > That'd make it easy to perform the check in the drivers.
> >
> > What do you think?
> 
> I think that would be a bit too complex. Drivers (or the V4L core) would need 
> to gather data from multiple links in some state object to find out if the 
> complete pipeline is valid or not.
> 
> Another option would be to set a flag somewhere to indicate whether the check 
> should be performed by the media core or left to drivers. As different types 
> of drivers might need different types of checks, I think I would prefer for 
> now to walk the graph one more time in the OMAP3 ISP driver, as currently 
> done, and revisit this issue when we will have a couple of drivers 
> implementing pipeline validity checks. I'm just a bit uncomfortable adding 
> core code for a feature that has a single user at the moment without a clear 
> view regarding how it would scale.

Honestly, I think that a driver that has configurable links but does not
require this check to be done is quite probably broken. I'm not really
convinced there is even a use case for a subdev operating its all sink pads
disconnected.

Btw. this "somewhere" could be struct media_pad. It already has a "flags"
field. We could call it MEDIA_PAD_FL_MUST_CONNECT.

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ai...@iki.fi     XMPP: sai...@retiisi.org.uk
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to