Lines Matching full:pads
158 list_add_tail(&gobj->list, &mdev->pads); in media_gobj_create()
195 struct media_pad *pads) in media_entity_pads_init() argument
206 entity->pads = pads; in media_entity_pads_init()
243 * media_entity_has_pad_interdep - Check interdependency between two pads
250 * and @pad1. If two pads are interdependent they are part of the same pipeline
251 * and enabling one of the pads means that the other pad will become "locked"
256 * has_pad_interdep operation is not implemented, all pads of the entity are
260 * The function returns false if both pads are sinks or sources.
264 * Return: true if the pads are connected internally and false otherwise.
272 if (entity->pads[pad0].flags & entity->pads[pad1].flags & in media_entity_has_pad_interdep()
431 * The pipeline traversal stack stores pads that are reached during graph
436 * To find further pads in the pipeline, the traversal algorithm follows
581 list_for_each_entry(ppad, &pipe->pads, list) { in media_pipeline_add_pad()
597 list_add_tail(&ppad->list, &pipe->pads); in media_pipeline_add_pad()
675 * If we're done iterating over links, iterate over pads of the entity. in media_pipeline_explore_next_link()
676 * This is necessary to discover pads that are not connected with any in media_pipeline_explore_next_link()
685 "media pipeline: adding unconnected pads of '%s'\n", in media_pipeline_explore_next_link()
691 * (already discovered through iterating over links) and pads in media_pipeline_explore_next_link()
709 while (!list_empty(&pipe->pads)) { in media_pipeline_cleanup()
712 ppad = list_first_entry(&pipe->pads, typeof(*ppad), list); in media_pipeline_cleanup()
729 INIT_LIST_HEAD(&pipe->pads); in media_pipeline_populate()
752 "media pipeline populated, found pads:\n"); in media_pipeline_populate()
754 list_for_each_entry(ppad, &pipe->pads, list) in media_pipeline_populate()
798 * Populate the pipeline. This populates the media_pipeline pads list in __media_pipeline_start()
807 * Now that all the pads in the pipeline have been gathered, perform in __media_pipeline_start()
811 list_for_each_entry(ppad, &pipe->pads, list) { in __media_pipeline_start()
833 * Validation of the source pads is performed in the context of in __media_pipeline_start()
904 list_for_each_entry(err_ppad, &pipe->pads, list) { in __media_pipeline_start()
945 list_for_each_entry(ppad, &pipe->pads, list) in __media_pipeline_stop()
1007 iter->cursor = pipe->pads.next; in __media_pipeline_pad_iter_next()
1009 if (iter->cursor == &pipe->pads) in __media_pipeline_pad_iter_next()
1038 iter->cursor = pipe->pads.next; in __media_pipeline_entity_iter_next()
1040 while (iter->cursor != &pipe->pads) { in __media_pipeline_entity_iter_next()
1120 if ((entity->pads[i].flags & in media_get_pad_index()
1124 if (entity->pads[i].sig_type == sig_type) in media_get_pad_index()
1147 if (WARN_ON(!(source->pads[source_pad].flags & MEDIA_PAD_FL_SOURCE))) in media_create_pad_link()
1149 if (WARN_ON(!(sink->pads[sink_pad].flags & MEDIA_PAD_FL_SINK))) in media_create_pad_link()
1156 link->source = &source->pads[source_pad]; in media_create_pad_link()
1157 link->sink = &sink->pads[sink_pad]; in media_create_pad_link()
1173 backlink->source = &source->pads[source_pad]; in media_create_pad_link()
1174 backlink->sink = &sink->pads[sink_pad]; in media_create_pad_link()
1486 if (entity->pads[i].flags & direction_flags) in media_entity_get_fwnode_pad()
1504 if (!(entity->pads[ret].flags & direction_flags)) in media_entity_get_fwnode_pad()