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()
351 static int avs_copier_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_copier_create() argument
353 struct avs_tplg_module *t = mod->template; in avs_copier_create()
362 dma_id = mod->owner->owner->dma_id; in avs_copier_create()
378 mod->gtw_attrs = cfg->gtw_cfg.config.attrs; in avs_copier_create()
380 ret = avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, t->core_id, in avs_copier_create()
381 t->domain, cfg, cfg_size, &mod->instance_id); in avs_copier_create()
385 static int avs_whm_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_whm_create() argument
387 struct avs_tplg_module *t = mod->template; in avs_whm_create()
396 dma_id = mod->owner->owner->dma_id; in avs_whm_create()
413 mod->gtw_attrs = cfg->gtw_cfg.config.attrs; in avs_whm_create()
415 ret = avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, t->core_id, in avs_whm_create()
416 t->domain, cfg, cfg_size, &mod->instance_id); in avs_whm_create()
420 static struct soc_mixer_control *avs_get_module_control(struct avs_path_module *mod, in avs_get_module_control() argument
423 struct avs_tplg_module *t = mod->template; in avs_get_module_control()
444 int avs_peakvol_set_volume(struct avs_dev *adev, struct avs_path_module *mod, in avs_peakvol_set_volume() argument
453 t = mod->template; in avs_peakvol_set_volume()
465 ret = avs_ipc_peakvol_set_volumes(adev, mod->module_id, mod->instance_id, vols, in avs_peakvol_set_volume()
476 ret = avs_ipc_peakvol_set_volume(adev, mod->module_id, mod->instance_id, &vols[0]); in avs_peakvol_set_volume()
480 int avs_peakvol_set_mute(struct avs_dev *adev, struct avs_path_module *mod, in avs_peakvol_set_mute() argument
489 t = mod->template; in avs_peakvol_set_mute()
501 ret = avs_ipc_peakvol_set_mutes(adev, mod->module_id, mod->instance_id, mutes, in avs_peakvol_set_mute()
512 ret = avs_ipc_peakvol_set_mute(adev, mod->module_id, mod->instance_id, &mutes[0]); in avs_peakvol_set_mute()
516 static int avs_peakvol_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_peakvol_create() argument
518 struct avs_tplg_module *t = mod->template; in avs_peakvol_create()
540 ret = avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, t->core_id, in avs_peakvol_create()
541 t->domain, cfg, cfg_size, &mod->instance_id); in avs_peakvol_create()
546 mc = avs_get_module_control(mod, "Volume"); in avs_peakvol_create()
548 ret = avs_peakvol_set_volume(adev, mod, mc, NULL); in avs_peakvol_create()
553 mc = avs_get_module_control(mod, "Switch"); in avs_peakvol_create()
555 return avs_peakvol_set_mute(adev, mod, mc, NULL); in avs_peakvol_create()
559 static int avs_updown_mix_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_updown_mix_create() argument
561 struct avs_tplg_module *t = mod->template; in avs_updown_mix_create()
576 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_updown_mix_create()
578 &mod->instance_id); in avs_updown_mix_create()
581 static int avs_src_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_src_create() argument
583 struct avs_tplg_module *t = mod->template; in avs_src_create()
593 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_src_create()
595 &mod->instance_id); in avs_src_create()
598 static int avs_asrc_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_asrc_create() argument
600 struct avs_tplg_module *t = mod->template; in avs_asrc_create()
613 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_asrc_create()
615 &mod->instance_id); in avs_asrc_create()
618 static int avs_aec_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_aec_create() argument
620 struct avs_tplg_module *t = mod->template; in avs_aec_create()
632 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_aec_create()
634 &mod->instance_id); in avs_aec_create()
637 static int avs_mux_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_mux_create() argument
639 struct avs_tplg_module *t = mod->template; in avs_mux_create()
650 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_mux_create()
652 &mod->instance_id); in avs_mux_create()
655 static int avs_wov_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_wov_create() argument
657 struct avs_tplg_module *t = mod->template; in avs_wov_create()
667 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_wov_create()
669 &mod->instance_id); in avs_wov_create()
672 static int avs_micsel_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_micsel_create() argument
674 struct avs_tplg_module *t = mod->template; in avs_micsel_create()
684 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_micsel_create()
686 &mod->instance_id); in avs_micsel_create()
689 static int avs_modbase_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_modbase_create() argument
691 struct avs_tplg_module *t = mod->template; in avs_modbase_create()
700 return avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_modbase_create()
702 &mod->instance_id); in avs_modbase_create()
705 static int avs_modext_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_modext_create() argument
707 struct avs_tplg_module *t = mod->template; in avs_modext_create()
739 ret = avs_dsp_init_module(adev, mod->module_id, mod->owner->instance_id, in avs_modext_create()
741 &mod->instance_id); in avs_modext_create()
745 static int avs_probe_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_probe_create() argument
753 int (*create)(struct avs_dev *adev, struct avs_path_module *mod);
774 static int avs_path_module_type_create(struct avs_dev *adev, struct avs_path_module *mod) in avs_path_module_type_create() argument
776 const guid_t *type = &mod->template->cfg_ext->type; in avs_path_module_type_create()
780 return avs_module_create[i].create(adev, mod); in avs_path_module_type_create()
782 return avs_modext_create(adev, mod); in avs_path_module_type_create()
785 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
789 acomp = to_avs_soc_component(mod->template->owner->owner->owner->owner->comp); in avs_path_module_send_init_configs()
791 u32 num_ids = mod->template->num_config_ids; in avs_path_module_send_init_configs()
792 u32 *ids = mod->template->config_ids; in avs_path_module_send_init_configs()
801 ret = avs_ipc_set_large_config(adev, mod->module_id, mod->instance_id, in avs_path_module_send_init_configs()
812 static void avs_path_module_free(struct avs_dev *adev, struct avs_path_module *mod) in avs_path_module_free() argument
814 kfree(mod); in avs_path_module_free()
822 struct avs_path_module *mod; in avs_path_module_create() local
829 mod = kzalloc(sizeof(*mod), GFP_KERNEL); in avs_path_module_create()
830 if (!mod) in avs_path_module_create()
833 mod->template = template; in avs_path_module_create()
834 mod->module_id = module_id; in avs_path_module_create()
835 mod->owner = owner; in avs_path_module_create()
836 INIT_LIST_HEAD(&mod->node); in avs_path_module_create()
838 ret = avs_path_module_type_create(adev, mod); in avs_path_module_create()
841 kfree(mod); in avs_path_module_create()
845 ret = avs_path_module_send_init_configs(adev, mod); in avs_path_module_create()
847 kfree(mod); in avs_path_module_create()
851 return mod; in avs_path_module_create()
865 dev_err(adev->dev, "path mod %d not found\n", t->mod_id); in avs_path_binding_arm()
887 dev_err(adev->dev, "target mod %d not found\n", t->target_mod_id); in avs_path_binding_arm()
931 struct avs_path_module *mod; in avs_path_pipeline_arm() local
933 list_for_each_entry(mod, &ppl->mod_list, node) { in avs_path_pipeline_arm()
941 if (mod == list_last_entry(&ppl->mod_list, in avs_path_pipeline_arm()
946 source = mod; in avs_path_pipeline_arm()
947 sink = list_next_entry(mod, node); in avs_path_pipeline_arm()
962 struct avs_path_module *mod, *save; in avs_path_pipeline_free() local
972 list_for_each_entry_safe(mod, save, &ppl->mod_list, node) { in avs_path_pipeline_free()
973 avs_dsp_delete_module(adev, mod->module_id, mod->instance_id, in avs_path_pipeline_free()
974 mod->owner->instance_id, in avs_path_pipeline_free()
975 mod->template->core_id); in avs_path_pipeline_free()
976 avs_path_module_free(adev, mod); in avs_path_pipeline_free()
1012 struct avs_path_module *mod; in avs_path_pipeline_create() local
1014 mod = avs_path_module_create(adev, ppl, tmod); in avs_path_pipeline_create()
1015 if (IS_ERR(mod)) { in avs_path_pipeline_create()
1016 ret = PTR_ERR(mod); in avs_path_pipeline_create()
1021 list_add_tail(&mod->node, &ppl->mod_list); in avs_path_pipeline_create()