Lines Matching full:mod
33 struct avs_path_module *mod; in avs_path_find_module() local
35 list_for_each_entry(mod, &ppl->mod_list, node) in avs_path_find_module()
36 if (mod->template->id == template_id) in avs_path_find_module()
37 return mod; in avs_path_find_module()
306 static int avs_copier_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_copier_create() argument
308 struct avs_tplg_module *t = mod->template; in avs_copier_create()
317 dma_id = mod->owner->owner->dma_id; in avs_copier_create()
333 mod->gtw_attrs = cfg->gtw_cfg.config.attrs; in avs_copier_create()
335 ret = avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, t->core_id, in avs_copier_create()
336 t->domain, cfg, cfg_size, &mod->instance_id); in avs_copier_create()
340 static int avs_whm_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_whm_create() argument
342 struct avs_tplg_module *t = mod->template; in avs_whm_create()
351 dma_id = mod->owner->owner->dma_id; in avs_whm_create()
368 mod->gtw_attrs = cfg->gtw_cfg.config.attrs; in avs_whm_create()
370 ret = avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, t->core_id, in avs_whm_create()
371 t->domain, cfg, cfg_size, &mod->instance_id); in avs_whm_create()
375 static struct soc_mixer_control *avs_get_module_control(struct avs_path_module *mod, in avs_get_module_control() argument
378 struct avs_tplg_module *t = mod->template; in avs_get_module_control()
399 int avs_peakvol_set_volume(struct avs_dev *adev, struct avs_path_module *mod, in avs_peakvol_set_volume() argument
408 t = mod->template; in avs_peakvol_set_volume()
420 ret = avs_ipc_peakvol_set_volumes(adev, mod->module_id, mod->instance_id, vols, in avs_peakvol_set_volume()
431 ret = avs_ipc_peakvol_set_volume(adev, mod->module_id, mod->instance_id, &vols[0]); in avs_peakvol_set_volume()
435 int avs_peakvol_set_mute(struct avs_dev *adev, struct avs_path_module *mod, in avs_peakvol_set_mute() argument
444 t = mod->template; in avs_peakvol_set_mute()
456 ret = avs_ipc_peakvol_set_mutes(adev, mod->module_id, mod->instance_id, mutes, in avs_peakvol_set_mute()
467 ret = avs_ipc_peakvol_set_mute(adev, mod->module_id, mod->instance_id, &mutes[0]); in avs_peakvol_set_mute()
471 static int avs_peakvol_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_peakvol_create() argument
473 struct avs_tplg_module *t = mod->template; in avs_peakvol_create()
495 ret = avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, t->core_id, in avs_peakvol_create()
496 t->domain, cfg, cfg_size, &mod->instance_id); in avs_peakvol_create()
501 mc = avs_get_module_control(mod, "Volume"); in avs_peakvol_create()
503 ret = avs_peakvol_set_volume(adev, mod, mc, NULL); in avs_peakvol_create()
508 mc = avs_get_module_control(mod, "Switch"); in avs_peakvol_create()
510 return avs_peakvol_set_mute(adev, mod, mc, NULL); in avs_peakvol_create()
514 static int avs_updown_mix_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_updown_mix_create() argument
516 struct avs_tplg_module *t = mod->template; in avs_updown_mix_create()
531 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_updown_mix_create()
533 &mod->instance_id); in avs_updown_mix_create()
536 static int avs_src_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_src_create() argument
538 struct avs_tplg_module *t = mod->template; in avs_src_create()
548 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_src_create()
550 &mod->instance_id); in avs_src_create()
553 static int avs_asrc_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_asrc_create() argument
555 struct avs_tplg_module *t = mod->template; in avs_asrc_create()
568 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_asrc_create()
570 &mod->instance_id); in avs_asrc_create()
573 static int avs_aec_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_aec_create() argument
575 struct avs_tplg_module *t = mod->template; in avs_aec_create()
587 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_aec_create()
589 &mod->instance_id); in avs_aec_create()
592 static int avs_mux_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_mux_create() argument
594 struct avs_tplg_module *t = mod->template; in avs_mux_create()
605 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_mux_create()
607 &mod->instance_id); in avs_mux_create()
610 static int avs_wov_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_wov_create() argument
612 struct avs_tplg_module *t = mod->template; in avs_wov_create()
622 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_wov_create()
624 &mod->instance_id); in avs_wov_create()
627 static int avs_micsel_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_micsel_create() argument
629 struct avs_tplg_module *t = mod->template; in avs_micsel_create()
639 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_micsel_create()
641 &mod->instance_id); in avs_micsel_create()
644 static int avs_modbase_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_modbase_create() argument
646 struct avs_tplg_module *t = mod->template; in avs_modbase_create()
655 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_modbase_create()
657 &mod->instance_id); in avs_modbase_create()
660 static int avs_modext_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_modext_create() argument
662 struct avs_tplg_module *t = mod->template; in avs_modext_create()
694 ret = avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_modext_create()
696 &mod->instance_id); in avs_modext_create()
700 static int avs_probe_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_probe_create() argument
708 int (*create)(struct avs_dev *adev, struct avs_path_module *mod);
729 static int avs_path_module_type_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_path_module_type_create() argument
731 const guid_t *type = &mod->template->cfg_ext->type; in avs_path_module_type_create()
735 return avs_module_create[i].create(adev, mod); in avs_path_module_type_create()
737 return avs_modext_create(adev, mod); in avs_path_module_type_create()
740 static int avs_path_module_send_init_configs(struct avs_dev *adev, struct avs_path_module *mod) in avs_path_module_send_init_configs() argument
744 acomp = to_avs_soc_component(mod->template->owner->owner->owner->owner->comp); in avs_path_module_send_init_configs()
746 u32 num_ids = mod->template->num_config_ids; in avs_path_module_send_init_configs()
747 u32 *ids = mod->template->config_ids; in avs_path_module_send_init_configs()
756 ret = avs_ipc_set_large_config(adev, mod->module_id, mod->instance_id, in avs_path_module_send_init_configs()
767 static void avs_path_module_free(struct avs_dev *adev, struct avs_path_module *mod) in avs_path_module_free() argument
769 kfree(mod); in avs_path_module_free()
777 struct avs_path_module *mod; in avs_path_module_create() local
784 mod = kzalloc(sizeof(*mod), GFP_KERNEL); in avs_path_module_create()
785 if (!mod) in avs_path_module_create()
788 mod->template = template; in avs_path_module_create()
789 mod->module_id = module_id; in avs_path_module_create()
790 mod->owner = owner; in avs_path_module_create()
791 INIT_LIST_HEAD(&mod->node); in avs_path_module_create()
793 ret = avs_path_module_type_create(adev, mod); in avs_path_module_create()
796 kfree(mod); in avs_path_module_create()
800 ret = avs_path_module_send_init_configs(adev, mod); in avs_path_module_create()
802 kfree(mod); in avs_path_module_create()
806 return mod; in avs_path_module_create()
820 dev_err(adev->dev, "path mod %d not found\n", t->mod_id); in avs_path_binding_arm()
842 dev_err(adev->dev, "target mod %d not found\n", t->target_mod_id); in avs_path_binding_arm()
886 struct avs_path_module *mod; in avs_path_pipeline_arm() local
888 list_for_each_entry(mod, &ppl->mod_list, node) { in avs_path_pipeline_arm()
896 if (mod == list_last_entry(&ppl->mod_list, in avs_path_pipeline_arm()
901 source = mod; in avs_path_pipeline_arm()
902 sink = list_next_entry(mod, node); in avs_path_pipeline_arm()
917 struct avs_path_module *mod, *save; in avs_path_pipeline_free() local
927 list_for_each_entry_safe(mod, save, &ppl->mod_list, node) { in avs_path_pipeline_free()
928 avs_dsp_delete_module(adev, mod->module_id, mod->instance_id, in avs_path_pipeline_free()
929 mod->owner->instance_id, in avs_path_pipeline_free()
930 mod->template->core_id); in avs_path_pipeline_free()
931 avs_path_module_free(adev, mod); in avs_path_pipeline_free()
967 struct avs_path_module *mod; in avs_path_pipeline_create() local
969 mod = avs_path_module_create(adev, ppl, tmod); in avs_path_pipeline_create()
970 if (IS_ERR(mod)) { in avs_path_pipeline_create()
971 ret = PTR_ERR(mod); in avs_path_pipeline_create()
976 list_add_tail(&mod->node, &ppl->mod_list); in avs_path_pipeline_create()