Lines Matching full:binding
586 static int avs_path_binding_arm(struct avs_dev *adev, struct avs_path_binding *binding) in avs_path_binding_arm() argument
593 t = binding->template; in avs_path_binding_arm()
594 this_mod = avs_path_find_module(binding->owner, in avs_path_binding_arm()
624 binding->sink = this_mod; in avs_path_binding_arm()
625 binding->sink_pin = t->mod_pin; in avs_path_binding_arm()
626 binding->source = target_mod; in avs_path_binding_arm()
627 binding->source_pin = t->target_mod_pin; in avs_path_binding_arm()
629 binding->sink = target_mod; in avs_path_binding_arm()
630 binding->sink_pin = t->target_mod_pin; in avs_path_binding_arm()
631 binding->source = this_mod; in avs_path_binding_arm()
632 binding->source_pin = t->mod_pin; in avs_path_binding_arm()
638 static void avs_path_binding_free(struct avs_dev *adev, struct avs_path_binding *binding) in avs_path_binding_free() argument
640 kfree(binding); in avs_path_binding_free()
647 struct avs_path_binding *binding; in avs_path_binding_create() local
649 binding = kzalloc(sizeof(*binding), GFP_KERNEL); in avs_path_binding_create()
650 if (!binding) in avs_path_binding_create()
653 binding->template = t; in avs_path_binding_create()
654 binding->owner = owner; in avs_path_binding_create()
655 INIT_LIST_HEAD(&binding->node); in avs_path_binding_create()
657 return binding; in avs_path_binding_create()
695 struct avs_path_binding *binding, *bsave; in avs_path_pipeline_free() local
698 list_for_each_entry_safe(binding, bsave, &ppl->binding_list, node) { in avs_path_pipeline_free()
699 list_del(&binding->node); in avs_path_pipeline_free()
700 avs_path_binding_free(adev, binding); in avs_path_pipeline_free()
759 struct avs_path_binding *binding; in avs_path_pipeline_create() local
761 binding = avs_path_binding_create(adev, ppl, template->bindings[i]); in avs_path_pipeline_create()
762 if (IS_ERR(binding)) { in avs_path_pipeline_create()
763 ret = PTR_ERR(binding); in avs_path_pipeline_create()
764 dev_err(adev->dev, "error creating binding %d\n", ret); in avs_path_pipeline_create()
768 list_add_tail(&binding->node, &ppl->binding_list); in avs_path_pipeline_create()
810 struct avs_path_binding *binding; in avs_path_arm() local
815 * Arm all ppl bindings before binding internal modules in avs_path_arm()
818 list_for_each_entry(binding, &ppl->binding_list, node) { in avs_path_arm()
819 ret = avs_path_binding_arm(adev, binding); in avs_path_arm()
908 struct avs_path_binding *binding) in avs_path_bind_prepare() argument
911 struct avs_tplg_module *tsource = binding->source->template; in avs_path_bind_prepare()
912 struct avs_path_module *source = binding->source; in avs_path_bind_prepare()
919 if (!binding->source_pin) in avs_path_bind_prepare()
925 sink_fmt = binding->sink->template->in_fmt; in avs_path_bind_prepare()
928 source->instance_id, binding->source_pin, in avs_path_bind_prepare()
945 struct avs_path_binding *binding; in avs_path_bind() local
947 list_for_each_entry(binding, &ppl->binding_list, node) { in avs_path_bind()
950 source = binding->source; in avs_path_bind()
951 sink = binding->sink; in avs_path_bind()
953 ret = avs_path_bind_prepare(adev, binding); in avs_path_bind()
959 sink->instance_id, binding->sink_pin, in avs_path_bind()
960 binding->source_pin); in avs_path_bind()
978 struct avs_path_binding *binding; in avs_path_unbind() local
980 list_for_each_entry(binding, &ppl->binding_list, node) { in avs_path_unbind()
983 source = binding->source; in avs_path_unbind()
984 sink = binding->sink; in avs_path_unbind()
988 sink->instance_id, binding->sink_pin, in avs_path_unbind()
989 binding->source_pin); in avs_path_unbind()