Lines Matching refs:mconfig
383 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_set_module_params() local
389 if (mconfig->formats_config.caps_size > 0 && in skl_tplg_set_module_params()
390 mconfig->formats_config.set_params == SKL_PARAM_SET) { in skl_tplg_set_module_params()
391 sp_cfg = &mconfig->formats_config; in skl_tplg_set_module_params()
394 sp_cfg->param_id, mconfig); in skl_tplg_set_module_params()
408 bc->param_id, mconfig); in skl_tplg_set_module_params()
429 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_set_module_init_data() local
441 mconfig->formats_config.caps = (u32 *)bc->params; in skl_tplg_set_module_init_data()
442 mconfig->formats_config.caps_size = bc->size; in skl_tplg_set_module_init_data()
475 struct skl_module_cfg *mconfig; in skl_tplg_init_pipe_modules() local
482 mconfig = w->priv; in skl_tplg_init_pipe_modules()
485 if (mconfig->id.module_id < 0) { in skl_tplg_init_pipe_modules()
488 (guid_t *)mconfig->guid); in skl_tplg_init_pipe_modules()
492 cfg_idx = mconfig->pipe->cur_config_idx; in skl_tplg_init_pipe_modules()
493 mconfig->fmt_idx = mconfig->mod_cfg[cfg_idx].fmt_idx; in skl_tplg_init_pipe_modules()
494 mconfig->res_idx = mconfig->mod_cfg[cfg_idx].res_idx; in skl_tplg_init_pipe_modules()
496 if (mconfig->module->loadable && skl->dsp->fw_ops.load_mod) { in skl_tplg_init_pipe_modules()
498 mconfig->id.module_id, mconfig->guid); in skl_tplg_init_pipe_modules()
502 mconfig->m_state = SKL_MODULE_LOADED; in skl_tplg_init_pipe_modules()
506 ret = skl_tplg_module_prepare(skl, pipe, w, mconfig); in skl_tplg_init_pipe_modules()
518 uuid_mod = (guid_t *)mconfig->guid; in skl_tplg_init_pipe_modules()
519 mconfig->id.pvt_id = skl_get_pvt_id(skl, uuid_mod, in skl_tplg_init_pipe_modules()
520 mconfig->id.instance_id); in skl_tplg_init_pipe_modules()
521 if (mconfig->id.pvt_id < 0) in skl_tplg_init_pipe_modules()
525 ret = skl_dsp_get_core(skl->dsp, mconfig->core_id); in skl_tplg_init_pipe_modules()
528 mconfig->core_id, ret); in skl_tplg_init_pipe_modules()
532 ret = skl_init_module(skl, mconfig); in skl_tplg_init_pipe_modules()
534 skl_put_pvt_id(skl, uuid_mod, &mconfig->id.pvt_id); in skl_tplg_init_pipe_modules()
545 skl_dsp_put_core(skl->dsp, mconfig->core_id); in skl_tplg_init_pipe_modules()
554 struct skl_module_cfg *mconfig; in skl_tplg_unload_pipe_modules() local
558 mconfig = w_module->w->priv; in skl_tplg_unload_pipe_modules()
559 uuid_mod = (guid_t *)mconfig->guid; in skl_tplg_unload_pipe_modules()
561 if (mconfig->module->loadable && skl->dsp->fw_ops.unload_mod && in skl_tplg_unload_pipe_modules()
562 mconfig->m_state > SKL_MODULE_UNINIT) { in skl_tplg_unload_pipe_modules()
564 mconfig->id.module_id); in skl_tplg_unload_pipe_modules()
568 skl_put_pvt_id(skl, uuid_mod, &mconfig->id.pvt_id); in skl_tplg_unload_pipe_modules()
570 ret = skl_dsp_put_core(skl->dsp, mconfig->core_id); in skl_tplg_unload_pipe_modules()
574 mconfig->core_id, ret); in skl_tplg_unload_pipe_modules()
622 skl_tplg_get_pipe_config(struct skl_dev *skl, struct skl_module_cfg *mconfig) in skl_tplg_get_pipe_config() argument
624 struct skl_pipe *pipe = mconfig->pipe; in skl_tplg_get_pipe_config()
691 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_mixer_dapm_pre_pmu_event() local
693 struct skl_pipe *s_pipe = mconfig->pipe; in skl_tplg_mixer_dapm_pre_pmu_event()
697 ret = skl_tplg_get_pipe_config(skl, mconfig); in skl_tplg_mixer_dapm_pre_pmu_event()
705 ret = skl_create_pipeline(skl, mconfig->pipe); in skl_tplg_mixer_dapm_pre_pmu_event()
783 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_set_module_bind_params() local
804 if (mconfig->formats_config.caps_size > 0 && in skl_tplg_set_module_bind_params()
805 mconfig->formats_config.set_params == SKL_PARAM_BIND) { in skl_tplg_set_module_bind_params()
806 sp_cfg = &mconfig->formats_config; in skl_tplg_set_module_bind_params()
809 sp_cfg->param_id, mconfig); in skl_tplg_set_module_bind_params()
826 mconfig); in skl_tplg_set_module_bind_params()
829 bc->max, bc->param_id, mconfig); in skl_tplg_set_module_bind_params()
900 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_add_moduleid_in_bind_params() local
908 if (mconfig->m_type != SKL_MODULE_TYPE_KPB) in skl_tplg_add_moduleid_in_bind_params()
1210 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_mixer_dapm_post_pmd_event() local
1213 struct skl_pipe *s_pipe = mconfig->pipe; in skl_tplg_mixer_dapm_post_pmd_event()
1260 skl_delete_pipe(skl, mconfig->pipe); in skl_tplg_mixer_dapm_post_pmd_event()
1427 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_tlv_control_get() local
1432 bc->size, bc->param_id, mconfig); in skl_tplg_tlv_control_get()
1459 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_tlv_control_set() local
1476 ac->param_id, mconfig); in skl_tplg_tlv_control_set()
1486 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_mic_control_get() local
1490 if (mconfig->dmic_ch_type == ch_type) in skl_tplg_mic_control_get()
1492 mconfig->dmic_ch_combo_index; in skl_tplg_mic_control_get()
1499 static int skl_fill_mic_sel_params(struct skl_module_cfg *mconfig, in skl_fill_mic_sel_params() argument
1502 struct skl_specific_cfg *sp_cfg = &mconfig->formats_config; in skl_fill_mic_sel_params()
1524 struct skl_module_cfg *mconfig = w->priv; in skl_tplg_mic_control_set() local
1531 mconfig->dmic_ch_type = ch_type; in skl_tplg_mic_control_set()
1532 mconfig->dmic_ch_combo_index = ucontrol->value.enumerated.item[0]; in skl_tplg_mic_control_set()
1535 if (mconfig->dmic_ch_combo_index == 0) in skl_tplg_mic_control_set()
1539 index = mconfig->dmic_ch_combo_index - 1; in skl_tplg_mic_control_set()
1543 if (mconfig->dmic_ch_combo_index > ARRAY_SIZE(mic_mono_list)) in skl_tplg_mic_control_set()
1550 if (mconfig->dmic_ch_combo_index > ARRAY_SIZE(mic_stereo_list)) in skl_tplg_mic_control_set()
1557 if (mconfig->dmic_ch_combo_index > ARRAY_SIZE(mic_trio_list)) in skl_tplg_mic_control_set()
1564 if (mconfig->dmic_ch_combo_index > ARRAY_SIZE(mic_quatro_list)) in skl_tplg_mic_control_set()
1584 return skl_fill_mic_sel_params(mconfig, &mic_cfg, w->dapm->dev); in skl_tplg_mic_control_set()
1631 struct skl_module_cfg *mconfig, in skl_tplg_update_pipe_params() argument
1637 u8 cfg_idx = mconfig->pipe->cur_config_idx; in skl_tplg_update_pipe_params()
1639 res = &mconfig->module->resources[mconfig->res_idx]; in skl_tplg_update_pipe_params()
1640 skl_tplg_fill_dma_id(mconfig, params); in skl_tplg_update_pipe_params()
1641 mconfig->fmt_idx = mconfig->mod_cfg[cfg_idx].fmt_idx; in skl_tplg_update_pipe_params()
1642 mconfig->res_idx = mconfig->mod_cfg[cfg_idx].res_idx; in skl_tplg_update_pipe_params()
1648 format = &mconfig->module->formats[mconfig->fmt_idx].inputs[0].fmt; in skl_tplg_update_pipe_params()
1650 format = &mconfig->module->formats[mconfig->fmt_idx].outputs[0].fmt; in skl_tplg_update_pipe_params()
1736 struct skl_module_cfg *mconfig = NULL; in skl_get_mconfig_pb_cpr() local
1743 mconfig = p->source->priv; in skl_get_mconfig_pb_cpr()
1744 return mconfig; in skl_get_mconfig_pb_cpr()
1746 mconfig = skl_get_mconfig_pb_cpr(dai, p->source); in skl_get_mconfig_pb_cpr()
1747 if (mconfig) in skl_get_mconfig_pb_cpr()
1748 return mconfig; in skl_get_mconfig_pb_cpr()
1751 return mconfig; in skl_get_mconfig_pb_cpr()
1758 struct skl_module_cfg *mconfig = NULL; in skl_get_mconfig_cap_cpr() local
1765 mconfig = p->sink->priv; in skl_get_mconfig_cap_cpr()
1766 return mconfig; in skl_get_mconfig_cap_cpr()
1768 mconfig = skl_get_mconfig_cap_cpr(dai, p->sink); in skl_get_mconfig_cap_cpr()
1769 if (mconfig) in skl_get_mconfig_cap_cpr()
1770 return mconfig; in skl_get_mconfig_cap_cpr()
1773 return mconfig; in skl_get_mconfig_cap_cpr()
1780 struct skl_module_cfg *mconfig; in skl_tplg_be_get_cpr_module() local
1784 mconfig = skl_get_mconfig_pb_cpr(dai, w); in skl_tplg_be_get_cpr_module()
1787 mconfig = skl_get_mconfig_cap_cpr(dai, w); in skl_tplg_be_get_cpr_module()
1789 return mconfig; in skl_tplg_be_get_cpr_module()
1829 struct skl_module_cfg *mconfig, in skl_tplg_be_fill_pipe_params() argument
1834 int link_type = skl_tplg_be_link_type(mconfig->dev_type); in skl_tplg_be_fill_pipe_params()
1835 u8 dev_type = skl_tplg_be_dev_type(mconfig->dev_type); in skl_tplg_be_fill_pipe_params()
1837 skl_tplg_fill_dma_id(mconfig, params); in skl_tplg_be_fill_pipe_params()
1843 cfg = skl_get_ep_blob(skl, mconfig->vbus_id, link_type, in skl_tplg_be_fill_pipe_params()
1848 mconfig->formats_config.caps_size = cfg->size; in skl_tplg_be_fill_pipe_params()
1849 mconfig->formats_config.caps = (u32 *) &cfg->caps; in skl_tplg_be_fill_pipe_params()
1852 mconfig->vbus_id, link_type, in skl_tplg_be_fill_pipe_params()
2057 struct skl_module_cfg *mconfig, struct skl_dev *skl, in skl_tplg_add_pipe() argument
2066 mconfig->pipe = ppl->pipe; in skl_tplg_add_pipe()
2090 mconfig->pipe = pipe; in skl_tplg_add_pipe()
2091 mconfig->pipe->state = SKL_PIPE_INVALID; in skl_tplg_add_pipe()
2146 struct skl_module_cfg *mconfig, in skl_tplg_fill_pins_info() argument
2155 m_pin = mconfig->m_in_pin; in skl_tplg_fill_pins_info()
2159 m_pin = mconfig->m_out_pin; in skl_tplg_fill_pins_info()
2365 struct skl_dev *skl, struct skl_module_cfg *mconfig) in skl_tplg_get_token() argument
2373 int res_idx = mconfig->res_idx; in skl_tplg_get_token()
2374 int fmt_idx = mconfig->fmt_idx; in skl_tplg_get_token()
2382 res = &mconfig->module->resources[res_idx]; in skl_tplg_get_token()
2383 iface = &mconfig->module->formats[fmt_idx]; in skl_tplg_get_token()
2391 mconfig->module->max_input_pins = tkn_elem->value; in skl_tplg_get_token()
2395 mconfig->module->max_output_pins = tkn_elem->value; in skl_tplg_get_token()
2399 if (!mconfig->m_in_pin) in skl_tplg_get_token()
2400 mconfig->m_in_pin = in skl_tplg_get_token()
2402 sizeof(*mconfig->m_in_pin), in skl_tplg_get_token()
2404 if (!mconfig->m_in_pin) in skl_tplg_get_token()
2407 skl_tplg_fill_pin_dynamic_val(mconfig->m_in_pin, MAX_IN_QUEUE, in skl_tplg_get_token()
2412 if (!mconfig->m_out_pin) in skl_tplg_get_token()
2413 mconfig->m_out_pin = in skl_tplg_get_token()
2415 sizeof(*mconfig->m_in_pin), in skl_tplg_get_token()
2417 if (!mconfig->m_out_pin) in skl_tplg_get_token()
2420 skl_tplg_fill_pin_dynamic_val(mconfig->m_out_pin, MAX_OUT_QUEUE, in skl_tplg_get_token()
2425 mconfig->time_slot = tkn_elem->value; in skl_tplg_get_token()
2429 mconfig->core_id = tkn_elem->value; in skl_tplg_get_token()
2433 mconfig->m_type = tkn_elem->value; in skl_tplg_get_token()
2437 mconfig->dev_type = tkn_elem->value; in skl_tplg_get_token()
2441 mconfig->hw_conn_type = tkn_elem->value; in skl_tplg_get_token()
2445 mconfig->id.instance_id = in skl_tplg_get_token()
2460 mconfig->vbus_id = tkn_elem->value; in skl_tplg_get_token()
2464 mconfig->params_fixup = tkn_elem->value; in skl_tplg_get_token()
2468 mconfig->converter = tkn_elem->value; in skl_tplg_get_token()
2472 mconfig->d0i3_caps = tkn_elem->value; in skl_tplg_get_token()
2477 mconfig, skl, tkn_elem); in skl_tplg_get_token()
2500 ret = skl_tplg_fill_pipe_tkn(dev, mconfig->pipe, in skl_tplg_get_token()
2512 if (mconfig->pipe->nr_cfgs) { in skl_tplg_get_token()
2513 ret = skl_tplg_fill_pipe_cfg(dev, mconfig->pipe, in skl_tplg_get_token()
2522 mconfig->mod_cfg[conf_idx].res_idx = tkn_elem->value; in skl_tplg_get_token()
2526 mconfig->mod_cfg[conf_idx].fmt_idx = tkn_elem->value; in skl_tplg_get_token()
2561 mconfig, tkn_elem, dir, in skl_tplg_get_token()
2569 mconfig->formats_config.caps_size = in skl_tplg_get_token()
2575 mconfig->formats_config.set_params = in skl_tplg_get_token()
2580 mconfig->formats_config.param_id = in skl_tplg_get_token()
2585 mconfig->domain = in skl_tplg_get_token()
2591 mconfig->dma_buffer_size = tkn_elem->value; in skl_tplg_get_token()
2616 struct skl_module_cfg *mconfig, int block_size) in skl_tplg_get_tokens() argument
2639 ret = skl_tplg_get_uuid(dev, (guid_t *)mconfig->guid, in skl_tplg_get_tokens()
2644 mconfig); in skl_tplg_get_tokens()
2662 skl, mconfig); in skl_tplg_get_tokens()
2711 struct skl_module_cfg *mconfig, struct skl_dev *skl, in skl_tplg_add_pipe_v4() argument
2720 mconfig->pipe = ppl->pipe; in skl_tplg_add_pipe_v4()
2748 mconfig->pipe = pipe; in skl_tplg_add_pipe_v4()
2789 struct skl_module_cfg *mconfig) in skl_tplg_get_pvt_data_v4() argument
2797 ret = guid_parse(dfw->uuid, (guid_t *)mconfig->guid); in skl_tplg_get_pvt_data_v4()
2800 mconfig->id.module_id = -1; in skl_tplg_get_pvt_data_v4()
2801 mconfig->id.instance_id = dfw->instance_id; in skl_tplg_get_pvt_data_v4()
2802 mconfig->module->resources[0].cpc = dfw->max_mcps / 1000; in skl_tplg_get_pvt_data_v4()
2803 mconfig->module->resources[0].ibs = dfw->ibs; in skl_tplg_get_pvt_data_v4()
2804 mconfig->module->resources[0].obs = dfw->obs; in skl_tplg_get_pvt_data_v4()
2805 mconfig->core_id = dfw->core_id; in skl_tplg_get_pvt_data_v4()
2806 mconfig->module->max_input_pins = dfw->max_in_queue; in skl_tplg_get_pvt_data_v4()
2807 mconfig->module->max_output_pins = dfw->max_out_queue; in skl_tplg_get_pvt_data_v4()
2808 mconfig->module->loadable = dfw->is_loadable; in skl_tplg_get_pvt_data_v4()
2809 skl_tplg_fill_fmt_v4(mconfig->module->formats[0].inputs, dfw->in_fmt, in skl_tplg_get_pvt_data_v4()
2811 skl_tplg_fill_fmt_v4(mconfig->module->formats[0].outputs, dfw->out_fmt, in skl_tplg_get_pvt_data_v4()
2814 mconfig->params_fixup = dfw->params_fixup; in skl_tplg_get_pvt_data_v4()
2815 mconfig->converter = dfw->converter; in skl_tplg_get_pvt_data_v4()
2816 mconfig->m_type = dfw->module_type; in skl_tplg_get_pvt_data_v4()
2817 mconfig->vbus_id = dfw->vbus_id; in skl_tplg_get_pvt_data_v4()
2818 mconfig->module->resources[0].is_pages = dfw->mem_pages; in skl_tplg_get_pvt_data_v4()
2820 ret = skl_tplg_add_pipe_v4(dev, mconfig, skl, &dfw->pipe); in skl_tplg_get_pvt_data_v4()
2824 mconfig->dev_type = dfw->dev_type; in skl_tplg_get_pvt_data_v4()
2825 mconfig->hw_conn_type = dfw->hw_conn_type; in skl_tplg_get_pvt_data_v4()
2826 mconfig->time_slot = dfw->time_slot; in skl_tplg_get_pvt_data_v4()
2827 mconfig->formats_config.caps_size = dfw->caps.caps_size; in skl_tplg_get_pvt_data_v4()
2829 mconfig->m_in_pin = devm_kcalloc(dev, in skl_tplg_get_pvt_data_v4()
2830 MAX_IN_QUEUE, sizeof(*mconfig->m_in_pin), in skl_tplg_get_pvt_data_v4()
2832 if (!mconfig->m_in_pin) in skl_tplg_get_pvt_data_v4()
2835 mconfig->m_out_pin = devm_kcalloc(dev, in skl_tplg_get_pvt_data_v4()
2836 MAX_OUT_QUEUE, sizeof(*mconfig->m_out_pin), in skl_tplg_get_pvt_data_v4()
2838 if (!mconfig->m_out_pin) in skl_tplg_get_pvt_data_v4()
2841 skl_fill_module_pin_info_v4(dfw->in_pin, mconfig->m_in_pin, in skl_tplg_get_pvt_data_v4()
2843 mconfig->module->max_input_pins); in skl_tplg_get_pvt_data_v4()
2844 skl_fill_module_pin_info_v4(dfw->out_pin, mconfig->m_out_pin, in skl_tplg_get_pvt_data_v4()
2846 mconfig->module->max_output_pins); in skl_tplg_get_pvt_data_v4()
2848 if (mconfig->formats_config.caps_size) { in skl_tplg_get_pvt_data_v4()
2849 mconfig->formats_config.set_params = dfw->caps.set_params; in skl_tplg_get_pvt_data_v4()
2850 mconfig->formats_config.param_id = dfw->caps.param_id; in skl_tplg_get_pvt_data_v4()
2851 mconfig->formats_config.caps = in skl_tplg_get_pvt_data_v4()
2852 devm_kzalloc(dev, mconfig->formats_config.caps_size, in skl_tplg_get_pvt_data_v4()
2854 if (!mconfig->formats_config.caps) in skl_tplg_get_pvt_data_v4()
2856 memcpy(mconfig->formats_config.caps, dfw->caps.caps, in skl_tplg_get_pvt_data_v4()
2871 struct skl_module_cfg *mconfig) in skl_tplg_get_pvt_data() argument
2883 return skl_tplg_get_pvt_data_v4(tplg_w, skl, dev, mconfig); in skl_tplg_get_pvt_data()
2922 skl, mconfig, block_size); in skl_tplg_get_pvt_data()
2929 if (mconfig->formats_config.caps_size > 0) in skl_tplg_get_pvt_data()
2930 memcpy(mconfig->formats_config.caps, data, in skl_tplg_get_pvt_data()
2931 mconfig->formats_config.caps_size); in skl_tplg_get_pvt_data()
2933 ret = mconfig->formats_config.caps_size; in skl_tplg_get_pvt_data()
2945 struct skl_module_cfg *mconfig; in skl_clear_pin_config() local
2950 mconfig = w->priv; in skl_clear_pin_config()
2951 pipe = mconfig->pipe; in skl_clear_pin_config()
2952 for (i = 0; i < mconfig->module->max_input_pins; i++) { in skl_clear_pin_config()
2953 mconfig->m_in_pin[i].in_use = false; in skl_clear_pin_config()
2954 mconfig->m_in_pin[i].pin_state = SKL_PIN_UNBIND; in skl_clear_pin_config()
2956 for (i = 0; i < mconfig->module->max_output_pins; i++) { in skl_clear_pin_config()
2957 mconfig->m_out_pin[i].in_use = false; in skl_clear_pin_config()
2958 mconfig->m_out_pin[i].pin_state = SKL_PIN_UNBIND; in skl_clear_pin_config()
2961 mconfig->m_state = SKL_MODULE_UNINIT; in skl_clear_pin_config()
3000 struct skl_module_cfg *mconfig; in skl_tplg_widget_load() local
3005 mconfig = devm_kzalloc(bus->dev, sizeof(*mconfig), GFP_KERNEL); in skl_tplg_widget_load()
3007 if (!mconfig) in skl_tplg_widget_load()
3011 mconfig->module = devm_kzalloc(bus->dev, in skl_tplg_widget_load()
3012 sizeof(*mconfig->module), GFP_KERNEL); in skl_tplg_widget_load()
3013 if (!mconfig->module) in skl_tplg_widget_load()
3017 w->priv = mconfig; in skl_tplg_widget_load()
3023 mconfig->id.module_id = -1; in skl_tplg_widget_load()
3026 ret = skl_tplg_get_pvt_data(tplg_w, skl, bus->dev, mconfig); in skl_tplg_widget_load()
3030 skl_debug_init_module(skl->debugfs, w, mconfig); in skl_tplg_widget_load()
3687 struct skl_module_cfg *mconfig; in skl_tplg_set_pipe_type() local
3692 mconfig = w->priv; in skl_tplg_set_pipe_type()
3694 if (mconfig->dev_type == SKL_DEVICE_HDAHOST) in skl_tplg_set_pipe_type()
3696 else if (mconfig->dev_type != SKL_DEVICE_NONE) in skl_tplg_set_pipe_type()