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
205 entity->pads = pads; in media_entity_pads_init()
230 * media_entity_has_pad_interdep - Check interdependency between two pads
237 * and @pad1. If two pads are interdependent they are part of the same pipeline
238 * and enabling one of the pads means that the other pad will become "locked"
243 * has_pad_interdep operation is not implemented, all pads of the entity are
247 * The function returns false if both pads are sinks or sources.
251 * Return: true if the pads are connected internally and false otherwise.
259 if (entity->pads[pad0].flags & entity->pads[pad1].flags & in media_entity_has_pad_interdep()
418 * The pipeline traversal stack stores pads that are reached during graph
423 * To find further pads in the pipeline, the traversal algorithm follows
565 list_for_each_entry(ppad, &pipe->pads, list) { in media_pipeline_add_pad()
581 list_add_tail(&ppad->list, &pipe->pads); in media_pipeline_add_pad()
638 * Add the local and remote pads of the link to the pipeline and push in media_pipeline_explore_next_link()
654 while (!list_empty(&pipe->pads)) { in media_pipeline_cleanup()
657 ppad = list_first_entry(&pipe->pads, typeof(*ppad), list); in media_pipeline_cleanup()
674 INIT_LIST_HEAD(&pipe->pads); in media_pipeline_populate()
697 "media pipeline populated, found pads:\n"); in media_pipeline_populate()
699 list_for_each_entry(ppad, &pipe->pads, list) in media_pipeline_populate()
743 * Populate the pipeline. This populates the media_pipeline pads list in __media_pipeline_start()
752 * Now that all the pads in the pipeline have been gathered, perform in __media_pipeline_start()
756 list_for_each_entry(ppad, &pipe->pads, list) { in __media_pipeline_start()
779 * Validation of the source pads is performed in the context of in __media_pipeline_start()
851 list_for_each_entry(err_ppad, &pipe->pads, list) { in __media_pipeline_start()
892 list_for_each_entry(ppad, &pipe->pads, list) in __media_pipeline_stop()
954 iter->cursor = pipe->pads.next; in __media_pipeline_pad_iter_next()
956 if (iter->cursor == &pipe->pads) in __media_pipeline_pad_iter_next()
985 iter->cursor = pipe->pads.next; in __media_pipeline_entity_iter_next()
987 while (iter->cursor != &pipe->pads) { in __media_pipeline_entity_iter_next()
1064 if ((entity->pads[i].flags & in media_get_pad_index()
1068 if (entity->pads[i].sig_type == sig_type) in media_get_pad_index()
1086 if (WARN_ON(!(source->pads[source_pad].flags & MEDIA_PAD_FL_SOURCE))) in media_create_pad_link()
1088 if (WARN_ON(!(sink->pads[sink_pad].flags & MEDIA_PAD_FL_SINK))) in media_create_pad_link()
1095 link->source = &source->pads[source_pad]; in media_create_pad_link()
1096 link->sink = &sink->pads[sink_pad]; in media_create_pad_link()
1112 backlink->source = &source->pads[source_pad]; in media_create_pad_link()
1113 backlink->sink = &sink->pads[sink_pad]; in media_create_pad_link()
1422 if (entity->pads[i].flags & direction_flags) in media_entity_get_fwnode_pad()
1440 if (!(entity->pads[ret].flags & direction_flags)) in media_entity_get_fwnode_pad()