Lines Matching full:binding
588 static int avs_path_binding_arm(struct avs_dev *adev, struct avs_path_binding *binding) in avs_path_binding_arm() argument
595 t = binding->template; in avs_path_binding_arm()
596 this_mod = avs_path_find_module(binding->owner, in avs_path_binding_arm()
626 binding->sink = this_mod; in avs_path_binding_arm()
627 binding->sink_pin = t->mod_pin; in avs_path_binding_arm()
628 binding->source = target_mod; in avs_path_binding_arm()
629 binding->source_pin = t->target_mod_pin; in avs_path_binding_arm()
631 binding->sink = target_mod; in avs_path_binding_arm()
632 binding->sink_pin = t->target_mod_pin; in avs_path_binding_arm()
633 binding->source = this_mod; in avs_path_binding_arm()
634 binding->source_pin = t->mod_pin; in avs_path_binding_arm()
640 static void avs_path_binding_free(struct avs_dev *adev, struct avs_path_binding *binding) in avs_path_binding_free() argument
642 kfree(binding); in avs_path_binding_free()
649 struct avs_path_binding *binding; in avs_path_binding_create() local
651 binding = kzalloc(sizeof(*binding), GFP_KERNEL); in avs_path_binding_create()
652 if (!binding) in avs_path_binding_create()
655 binding->template = t; in avs_path_binding_create()
656 binding->owner = owner; in avs_path_binding_create()
657 INIT_LIST_HEAD(&binding->node); in avs_path_binding_create()
659 return binding; in avs_path_binding_create()
697 struct avs_path_binding *binding, *bsave; in avs_path_pipeline_free() local
700 list_for_each_entry_safe(binding, bsave, &ppl->binding_list, node) { in avs_path_pipeline_free()
701 list_del(&binding->node); in avs_path_pipeline_free()
702 avs_path_binding_free(adev, binding); in avs_path_pipeline_free()
761 struct avs_path_binding *binding; in avs_path_pipeline_create() local
763 binding = avs_path_binding_create(adev, ppl, template->bindings[i]); in avs_path_pipeline_create()
764 if (IS_ERR(binding)) { in avs_path_pipeline_create()
765 ret = PTR_ERR(binding); in avs_path_pipeline_create()
766 dev_err(adev->dev, "error creating binding %d\n", ret); in avs_path_pipeline_create()
770 list_add_tail(&binding->node, &ppl->binding_list); in avs_path_pipeline_create()
812 struct avs_path_binding *binding; in avs_path_arm() local
817 * Arm all ppl bindings before binding internal modules in avs_path_arm()
820 list_for_each_entry(binding, &ppl->binding_list, node) { in avs_path_arm()
821 ret = avs_path_binding_arm(adev, binding); in avs_path_arm()
910 struct avs_path_binding *binding) in avs_path_bind_prepare() argument
913 struct avs_tplg_module *tsource = binding->source->template; in avs_path_bind_prepare()
914 struct avs_path_module *source = binding->source; in avs_path_bind_prepare()
921 if (!binding->source_pin) in avs_path_bind_prepare()
927 sink_fmt = binding->sink->template->in_fmt; in avs_path_bind_prepare()
930 source->instance_id, binding->source_pin, in avs_path_bind_prepare()
947 struct avs_path_binding *binding; in avs_path_bind() local
949 list_for_each_entry(binding, &ppl->binding_list, node) { in avs_path_bind()
952 source = binding->source; in avs_path_bind()
953 sink = binding->sink; in avs_path_bind()
955 ret = avs_path_bind_prepare(adev, binding); in avs_path_bind()
961 sink->instance_id, binding->sink_pin, in avs_path_bind()
962 binding->source_pin); in avs_path_bind()
980 struct avs_path_binding *binding; in avs_path_unbind() local
982 list_for_each_entry(binding, &ppl->binding_list, node) { in avs_path_unbind()
985 source = binding->source; in avs_path_unbind()
986 sink = binding->sink; in avs_path_unbind()
990 sink->instance_id, binding->sink_pin, in avs_path_unbind()
991 binding->source_pin); in avs_path_unbind()