diff options
author | Sakari Ailus <sakari.ailus@iki.fi> | 2012-01-11 04:25:15 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-05-14 07:44:11 -0400 |
commit | af88be3887c1a0b20d0792c3c237a67c73ef3286 (patch) | |
tree | 79047160436c63bab20241807a61d8030b6a0527 /Documentation | |
parent | 440f0fadd407c66abe285ce26ed8c31fb2403f0d (diff) |
[media] media: Add link_validate() op to check links to the sink pad
The purpose of the link_validate() op is to allow an entity driver to ensure
that the properties of the pads at the both ends of the link are suitable
for starting the pipeline. link_validate is called on sink pads on active
links which belong to the active part of the graph.
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/media-framework.txt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Documentation/media-framework.txt b/Documentation/media-framework.txt index 3a0f879533ce..802875413873 100644 --- a/Documentation/media-framework.txt +++ b/Documentation/media-framework.txt | |||
@@ -335,6 +335,9 @@ the media_entity pipe field. | |||
335 | Calls to media_entity_pipeline_start() can be nested. The pipeline pointer must | 335 | Calls to media_entity_pipeline_start() can be nested. The pipeline pointer must |
336 | be identical for all nested calls to the function. | 336 | be identical for all nested calls to the function. |
337 | 337 | ||
338 | media_entity_pipeline_start() may return an error. In that case, it will | ||
339 | clean up any the changes it did by itself. | ||
340 | |||
338 | When stopping the stream, drivers must notify the entities with | 341 | When stopping the stream, drivers must notify the entities with |
339 | 342 | ||
340 | media_entity_pipeline_stop(struct media_entity *entity); | 343 | media_entity_pipeline_stop(struct media_entity *entity); |
@@ -351,3 +354,19 @@ If other operations need to be disallowed on streaming entities (such as | |||
351 | changing entities configuration parameters) drivers can explicitly check the | 354 | changing entities configuration parameters) drivers can explicitly check the |
352 | media_entity stream_count field to find out if an entity is streaming. This | 355 | media_entity stream_count field to find out if an entity is streaming. This |
353 | operation must be done with the media_device graph_mutex held. | 356 | operation must be done with the media_device graph_mutex held. |
357 | |||
358 | |||
359 | Link validation | ||
360 | --------------- | ||
361 | |||
362 | Link validation is performed by media_entity_pipeline_start() for any | ||
363 | entity which has sink pads in the pipeline. The | ||
364 | media_entity::link_validate() callback is used for that purpose. In | ||
365 | link_validate() callback, entity driver should check that the properties of | ||
366 | the source pad of the connected entity and its own sink pad match. It is up | ||
367 | to the type of the entity (and in the end, the properties of the hardware) | ||
368 | what matching actually means. | ||
369 | |||
370 | Subsystems should facilitate link validation by providing subsystem specific | ||
371 | helper functions to provide easy access for commonly needed information, and | ||
372 | in the end provide a way to use driver-specific callbacks. | ||