Lines Matching refs:scomp

359 static void sof_dbg_comp_config(struct snd_soc_component *scomp, struct sof_ipc_comp_config *config)  in sof_dbg_comp_config()  argument
361 dev_dbg(scomp->dev, " config: periods snk %d src %d fmt %d\n", in sof_dbg_comp_config()
368 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_host() local
388 ret = sof_update_ipc_object(scomp, host, SOF_PCM_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_host()
394 ret = sof_update_ipc_object(scomp, &host->config, SOF_COMP_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_host()
399 dev_dbg(scomp->dev, "loaded host %s\n", swidget->widget->name); in sof_ipc3_widget_setup_comp_host()
400 sof_dbg_comp_config(scomp, &host->config); in sof_ipc3_widget_setup_comp_host()
417 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_tone() local
433 ret = sof_update_ipc_object(scomp, &tone->config, SOF_COMP_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_tone()
441 dev_dbg(scomp->dev, "tone %s: frequency %d amplitude %d\n", in sof_ipc3_widget_setup_comp_tone()
443 sof_dbg_comp_config(scomp, &tone->config); in sof_ipc3_widget_setup_comp_tone()
450 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_mixer() local
466 ret = sof_update_ipc_object(scomp, &mixer->config, SOF_COMP_TOKENS, in sof_ipc3_widget_setup_comp_mixer()
476 dev_dbg(scomp->dev, "loaded mixer %s\n", swidget->widget->name); in sof_ipc3_widget_setup_comp_mixer()
477 sof_dbg_comp_config(scomp, &mixer->config); in sof_ipc3_widget_setup_comp_mixer()
484 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_pipeline() local
502 comp_swidget = snd_sof_find_swidget(scomp, swidget->widget->sname); in sof_ipc3_widget_setup_comp_pipeline()
504 dev_err(scomp->dev, "scheduler %s refers to non existent widget %s\n", in sof_ipc3_widget_setup_comp_pipeline()
513 ret = sof_update_ipc_object(scomp, pipeline, SOF_SCHED_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_pipeline()
519 ret = sof_update_ipc_object(scomp, swidget, SOF_PIPELINE_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_pipeline()
531 dev_dbg(scomp->dev, "pipeline %s: period %d pri %d mips %d core %d frames %d dynamic %d\n", in sof_ipc3_widget_setup_comp_pipeline()
549 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_buffer() local
568 ret = sof_update_ipc_object(scomp, buffer, SOF_BUFFER_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_buffer()
576 dev_dbg(scomp->dev, "buffer %s: size %d caps 0x%x\n", in sof_ipc3_widget_setup_comp_buffer()
584 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_src() local
600 ret = sof_update_ipc_object(scomp, src, SOF_SRC_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_src()
606 ret = sof_update_ipc_object(scomp, &src->config, SOF_COMP_TOKENS, in sof_ipc3_widget_setup_comp_src()
611 dev_dbg(scomp->dev, "src %s: source rate %d sink rate %d\n", in sof_ipc3_widget_setup_comp_src()
613 sof_dbg_comp_config(scomp, &src->config); in sof_ipc3_widget_setup_comp_src()
625 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_asrc() local
641 ret = sof_update_ipc_object(scomp, asrc, SOF_ASRC_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_asrc()
647 ret = sof_update_ipc_object(scomp, &asrc->config, SOF_COMP_TOKENS, in sof_ipc3_widget_setup_comp_asrc()
652 dev_dbg(scomp->dev, "asrc %s: source rate %d sink rate %d asynch %d operation %d\n", in sof_ipc3_widget_setup_comp_asrc()
656 sof_dbg_comp_config(scomp, &asrc->config); in sof_ipc3_widget_setup_comp_asrc()
671 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_mux() local
687 ret = sof_update_ipc_object(scomp, &mux->config, SOF_COMP_TOKENS, in sof_ipc3_widget_setup_comp_mux()
695 dev_dbg(scomp->dev, "loaded mux %s\n", swidget->widget->name); in sof_ipc3_widget_setup_comp_mux()
696 sof_dbg_comp_config(scomp, &mux->config); in sof_ipc3_widget_setup_comp_mux()
707 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_pga() local
708 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); in sof_ipc3_widget_setup_comp_pga()
726 ret = sof_update_ipc_object(scomp, volume, SOF_VOLUME_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_pga()
732 ret = sof_update_ipc_object(scomp, &volume->config, SOF_COMP_TOKENS, in sof_ipc3_widget_setup_comp_pga()
738 dev_dbg(scomp->dev, "loaded PGA %s\n", swidget->widget->name); in sof_ipc3_widget_setup_comp_pga()
739 sof_dbg_comp_config(scomp, &volume->config); in sof_ipc3_widget_setup_comp_pga()
761 static int sof_get_control_data(struct snd_soc_component *scomp, in sof_get_control_data() argument
791 dev_err(scomp->dev, "Unknown kcontrol type %u in widget %s\n", in sof_get_control_data()
797 dev_err(scomp->dev, "No scontrol for widget %s\n", widget->name); in sof_get_control_data()
843 static int sof_process_load(struct snd_soc_component *scomp, in sof_process_load() argument
862 ret = sof_get_control_data(scomp, widget, wdata, &ipc_data_size); in sof_process_load()
888 ret = sof_update_ipc_object(scomp, &process->config, SOF_COMP_TOKENS, in sof_process_load()
894 dev_dbg(scomp->dev, "loaded process %s\n", swidget->widget->name); in sof_process_load()
895 sof_dbg_comp_config(scomp, &process->config); in sof_process_load()
945 struct snd_soc_component *scomp = swidget->scomp; in sof_widget_update_ipc_comp_process() local
953 ret = sof_update_ipc_object(scomp, &config, SOF_PROCESS_TOKENS, swidget->tuples, in sof_widget_update_ipc_comp_process()
959 return sof_process_load(scomp, swidget, find_process_comp_type(config.type)); in sof_widget_update_ipc_comp_process()
962 static int sof_link_hda_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_hda_load() argument
974 ret = sof_update_ipc_object(scomp, &config->hda, SOF_HDA_TOKENS, slink->tuples, in sof_link_hda_load()
979 dev_dbg(scomp->dev, "HDA config rate %d channels %d\n", in sof_link_hda_load()
1027 static int sof_link_sai_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_sai_load() argument
1043 ret = sof_update_ipc_object(scomp, &config->sai, SOF_SAI_TOKENS, slink->tuples, in sof_link_sai_load()
1058 dev_info(scomp->dev, in sof_link_sai_load()
1065 dev_err(scomp->dev, "Invalid channel count for SAI%d\n", config->dai_index); in sof_link_sai_load()
1078 static int sof_link_esai_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_esai_load() argument
1094 ret = sof_update_ipc_object(scomp, &config->esai, SOF_ESAI_TOKENS, slink->tuples, in sof_link_esai_load()
1108 dev_info(scomp->dev, in sof_link_esai_load()
1115 dev_err(scomp->dev, "Invalid channel count for ESAI%d\n", config->dai_index); in sof_link_esai_load()
1128 static int sof_link_acp_dmic_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_acp_dmic_load() argument
1142 ret = sof_update_ipc_object(scomp, &config->acpdmic, SOF_ACPDMIC_TOKENS, slink->tuples, in sof_link_acp_dmic_load()
1147 dev_info(scomp->dev, "ACP_DMIC config ACP%d channel %d rate %d\n", in sof_link_acp_dmic_load()
1160 static int sof_link_acp_bt_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_acp_bt_load() argument
1177 dev_info(scomp->dev, "ACP_BT config ACP%d channel %d rate %d\n", in sof_link_acp_bt_load()
1190 static int sof_link_acp_sp_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_acp_sp_load() argument
1207 dev_info(scomp->dev, "ACP_SP config ACP%d channel %d rate %d\n", in sof_link_acp_sp_load()
1220 static int sof_link_acp_hs_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_acp_hs_load() argument
1237 dev_info(scomp->dev, "ACP_HS config ACP%d channel %d rate %d\n", in sof_link_acp_hs_load()
1250 static int sof_link_afe_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_afe_load() argument
1260 ret = sof_update_ipc_object(scomp, &config->afe, SOF_AFE_TOKENS, slink->tuples, in sof_link_afe_load()
1265 dev_dbg(scomp->dev, "AFE config rate %d channels %d format:%d\n", in sof_link_afe_load()
1279 static int sof_link_ssp_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_ssp_load() argument
1282 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); in sof_link_ssp_load()
1292 ret = sof_update_ipc_object(scomp, &config->ssp, SOF_SSP_TOKENS, slink->tuples, in sof_link_ssp_load()
1308 dev_dbg(scomp->dev, "tplg: overriding topology mclk_id %d by quirk %d\n", in sof_link_ssp_load()
1323 …dev_dbg(scomp->dev, "tplg: config SSP%d fmt %#x mclk %d bclk %d fclk %d width (%d)%d slots %d mclk… in sof_link_ssp_load()
1332 dev_err(scomp->dev, "Invalid fsync rate for SSP%d\n", config[i].dai_index); in sof_link_ssp_load()
1337 dev_err(scomp->dev, "Invalid channel count for SSP%d\n", in sof_link_ssp_load()
1352 static int sof_link_dmic_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_dmic_load() argument
1355 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); in sof_link_dmic_load()
1366 ret = sof_update_ipc_object(scomp, &config->dmic, SOF_DMIC_TOKENS, slink->tuples, in sof_link_dmic_load()
1372 ret = sof_update_ipc_object(scomp, &config->dmic.pdm[0], SOF_DMIC_PDM_TOKENS, in sof_link_dmic_load()
1383 dev_dbg(scomp->dev, "tplg: config DMIC%d driver version %d\n", in sof_link_dmic_load()
1385 dev_dbg(scomp->dev, "pdmclk_min %d pdm_clkmax %d duty_min %d\n", in sof_link_dmic_load()
1388 dev_dbg(scomp->dev, "duty_max %d fifo_fs %d num_pdms active %d\n", in sof_link_dmic_load()
1391 dev_dbg(scomp->dev, "fifo word length %d\n", config->dmic.fifo_bits); in sof_link_dmic_load()
1394 dev_dbg(scomp->dev, "pdm %d mic a %d mic b %d\n", in sof_link_dmic_load()
1398 dev_dbg(scomp->dev, "pdm %d polarity a %d polarity b %d\n", in sof_link_dmic_load()
1402 dev_dbg(scomp->dev, "pdm %d clk_edge %d skew %d\n", in sof_link_dmic_load()
1424 static int sof_link_alh_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, in sof_link_alh_load() argument
1432 ret = sof_update_ipc_object(scomp, &config->alh, SOF_ALH_TOKENS, slink->tuples, in sof_link_alh_load()
1452 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_widget_setup_comp_dai() local
1453 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); in sof_ipc3_widget_setup_comp_dai()
1480 ret = sof_update_ipc_object(scomp, comp_dai, SOF_DAI_TOKENS, swidget->tuples, in sof_ipc3_widget_setup_comp_dai()
1486 ret = sof_update_ipc_object(scomp, &comp_dai->config, SOF_COMP_TOKENS, in sof_ipc3_widget_setup_comp_dai()
1492 dev_dbg(scomp->dev, "dai %s: type %d index %d\n", in sof_ipc3_widget_setup_comp_dai()
1494 sof_dbg_comp_config(scomp, &comp_dai->config); in sof_ipc3_widget_setup_comp_dai()
1512 ret = sof_update_ipc_object(scomp, &common_config, SOF_DAI_LINK_TOKENS, in sof_ipc3_widget_setup_comp_dai()
1527 ret = sof_link_ssp_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1530 ret = sof_link_dmic_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1533 ret = sof_link_hda_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1536 ret = sof_link_alh_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1539 ret = sof_link_sai_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1542 ret = sof_link_esai_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1545 ret = sof_link_acp_bt_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1548 ret = sof_link_acp_sp_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1551 ret = sof_link_acp_hs_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1554 ret = sof_link_acp_dmic_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1557 ret = sof_link_afe_load(scomp, slink, config, dai); in sof_ipc3_widget_setup_comp_dai()
1563 dev_err(scomp->dev, "failed to load config for dai %s\n", dai->name); in sof_ipc3_widget_setup_comp_dai()
1775 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_keyword_detect_pcm_params() local
1776 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); in sof_ipc3_keyword_detect_pcm_params()
1784 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in sof_ipc3_keyword_detect_pcm_params()
1786 dev_err(scomp->dev, "Cannot find PCM for %s\n", swidget->widget->name); in sof_ipc3_keyword_detect_pcm_params()
1824 dev_err(scomp->dev, "%s: PCM params failed for %s\n", __func__, in sof_ipc3_keyword_detect_pcm_params()
1833 struct snd_soc_component *scomp = swidget->scomp; in sof_ipc3_keyword_detect_trigger() local
1834 struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); in sof_ipc3_keyword_detect_trigger()
1847 dev_err(scomp->dev, "%s: Failed to trigger %s\n", __func__, swidget->widget->name); in sof_ipc3_keyword_detect_trigger()
1856 struct snd_soc_component *scomp; in sof_ipc3_keyword_dapm_event() local
1864 scomp = swidget->scomp; in sof_ipc3_keyword_dapm_event()
1866 dev_dbg(scomp->dev, "received event %d for widget %s\n", in sof_ipc3_keyword_dapm_event()
1870 spcm = snd_sof_find_spcm_name(scomp, swidget->widget->sname); in sof_ipc3_keyword_dapm_event()
1872 dev_err(scomp->dev, "%s: Cannot find PCM for %s\n", __func__, in sof_ipc3_keyword_dapm_event()
1881 dev_dbg(scomp->dev, "PRE_PMU event ignored, KWD pipeline is already RUNNING\n"); in sof_ipc3_keyword_dapm_event()
1888 dev_err(scomp->dev, "%s: Failed to set pcm params for widget %s\n", in sof_ipc3_keyword_dapm_event()
1896 dev_err(scomp->dev, "%s: Failed to trigger widget %s\n", __func__, in sof_ipc3_keyword_dapm_event()
1901 dev_dbg(scomp->dev, in sof_ipc3_keyword_dapm_event()
1909 dev_err(scomp->dev, "%s: Failed to trigger widget %s\n", __func__, in sof_ipc3_keyword_dapm_event()
1915 dev_err(scomp->dev, "%s: Failed to free PCM for widget %s\n", __func__, in sof_ipc3_keyword_dapm_event()
1930 static int sof_ipc3_widget_bind_event(struct snd_soc_component *scomp, in sof_ipc3_widget_bind_event() argument
1953 dev_err(scomp->dev, "Invalid event type %d for widget %s\n", event_type, in sof_ipc3_widget_bind_event()
2367 static int sof_ipc3_parse_manifest(struct snd_soc_component *scomp, int index, in sof_ipc3_parse_manifest() argument
2375 dev_dbg(scomp->dev, "No topology ABI info\n"); in sof_ipc3_parse_manifest()
2380 dev_err(scomp->dev, "%s: Invalid topology ABI size: %u\n", in sof_ipc3_parse_manifest()
2385 dev_info(scomp->dev, in sof_ipc3_parse_manifest()
2393 dev_err(scomp->dev, "%s: Incompatible topology ABI version\n", __func__); in sof_ipc3_parse_manifest()
2399 dev_err(scomp->dev, "%s: Topology ABI is more recent than kernel\n", __func__); in sof_ipc3_parse_manifest()